16、企业级私有仓库harbor(docker-compose)

版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin

需要在官网注册账号

1.登录私有仓库
[root@docker01 ~]#  docker login -u kirin997com

2.打标签
[root@docker01 ~]#  docker tag youxi:v1 kirin997com/youxi:v1

3.上传镜像
[root@docker01 ~]#  docker push kirin997com/youxi:v1 


4.删除原有镜像,尝试下载镜像运行查看
[root@docker01 ~]#  docker pull kirin997com/youxi:v1
[root@docker01 ~]#  docker run -d -p 80:80 kirin997com/youxi:v1 

5.删除的话就网页就可以删除

harbor私有云仓库安装与使用
1.#下载安装器
[root@docker01 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-offline-installer-v2.2.2.tgz

2.#解压
[root@docker01 /opt/dockerfile]# tar xf harbor-offline-installer-v2.2.2.tgz 

3.#修改配置文件
[root@docker01 /opt/dockerfile]#  cd harbor/
[root@docker01 /opt/dockerfile/harbor]#  cp harbor.yml.tmpl harbor.yml
[root@docker01 /opt/dockerfile/harbor]#  vim harbor.yml

hostname: 10.0.0.12
#注释https的配置
harbor_admin_password: 123456

清除多余容器,避免80端口冲突
[root@docker01 /opt/dockerfile/harbor]#  docker rm `docker ps -a -q`


4.#执行安装脚本、打开浏览器查看
[root@docker01 /opt/dockerfile/harbor]#  ./install.sh  






5.harbor使用
harbor在11的机器上。我们在12机器上测试
1.编辑配置文件、否则登录不上,因为走的是https协议
[root@docker01 /opt/dockerfile/harbor]#  vim /etc/docker/daemon.json 
[root@docker01 /opt/dockerfile/harbor]#  cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries": ["10.0.0.11"]
}

##重启服务
[root@docker01 /opt/dockerfile/harbor]#  systemctl restart docker

##登录11机器
[root@docker01 ~]#  docker login 10.0.0.11
##输入用户名:admin  密码:123456

提示有个密码文件需要删除,请删除它。否则账号密码会暴露:
演示:
[root@docker01 ~]#  cat /root/.docker/config.json

打开网站:https://base64.us/

##接下来去10.0.0.11的网页上复制推送的命令借用(改吧改吧)
docker tag SOURCE_IMAGE[:TAG] 10.0.0.11/oldzhang/REPOSITORY[:TAG]

##先打标签
[root@docker02 ~]#  docker tag centos:7 10.0.0.11/oldzhang/centos7:v1 

##推送镜像
[root@docker02 ~]#  docker push 10.0.0.11/oldzhang/centos7:v1 

##打开浏览器查看

为harbor配置https证书
1.将下载好的证书传到01机器上的certs的目录中并解压
[root@docker01 ~/certs]#  mkdir -p /opt/harbor/certs
[root@docker01 ~]#  cd /opt/harbor/certs
[root@docker01 /opt/harbor/certs]#   unzip blog.oldqiang.com.zip 

2.#修改harbor.yml(前面我们把https都注释掉了,现在我们把它都打开)
[root@docker01 /opt/dockerfile/harbor]#  vim harbor.yml

3.修改配置文件,注释(因为我们每次执行安装的时候他都会重新走一遍安装流程,重新加载镜像,但是我们已经有镜像了,不需要重新加载)
[root@docker01 /opt/dockerfile/harbor]#  vim install.sh

4.#重新执行安装脚本
[root@docker01 /opt/dockerfile/harbor]#  ./install.sh

5.打开浏览器访问(打不开的话记得修改本地hosts文件解析)
https://blog.oldqiang.com

6.接下来咱们在02机器上登录一下
##先修改配置文件,不能再用ip地址得了
[root@docker02 ~]#  vim /etc/docker/daemon.json 
[root@docker02 ~]#  cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
}

##接下来登录(失败的话本地做hosts解析)
[root@docker02 ~]#  docker login blog.oldqiang.com

7.打标签、推送测试
[root@docker02 ~]# docker tag docker.io/mysql:5.7 blog.oldqiang.com/oldzhang/docker-mysql5.7:v1
[root@docker02 ~]#  docker push blog.oldqiang.com/oldzhang/docker-mysql5.7:v1 



##从上面几个图中可以发现,本地推送前的镜像大小是386M,推送到harbor里面大小变成了128.24MB。这是因为harbor帮我们做了压缩

harbor镜像迁移

把02机器上registry仓库里的镜像迁移到01机器上的harbor上(其实就是复制)

1.打开https://blog.oldqiang.com/









只要硬盘空间足够大,甚至可以用这种方法把官方镜像同步过来

posted @ 2022-06-03 11:36  kirin(麒麟)  阅读(144)  评论(0编辑  收藏  举报
Δ