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/
只要硬盘空间足够大,甚至可以用这种方法把官方镜像同步过来
本文来自博客园,作者:kirin(麒麟),转载请注明原文链接:https://www.cnblogs.com/kirin365/articles/16137816.html