(1)了解主流的Docker仓库。
(2)掌握Harbor私有仓库的搭建与使用。
(3)掌握Harbor私有仓库的主从同步。
所有节点已安装好docker-ce。
1.构建私有仓库
运行Registry
将Registry镜像运行并生成一个容器。
[root@master ~]# ./image.sh
[root@master ~]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
Registry服务默认会将上传的镜像保存在容器的/var/lib/registry中,将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。
查看运行情况
使用docker ps命令查看容器运行情况:
查看状态
Registry容器启动后,打开浏览器输入地址http://172.16.51.35:5000/v2/,如果查看到如图7-2-1所示的情况说明Registry运行正常
上传镜像
创建好私有仓库之后,就可以使用docker tag命令来标记一个镜像,然后推送它到仓库。
配置私有仓库,
[root@master ~]# vi /etc/docker/daemon.json
{
"insecure-registries": ["172.16.51.35:5000"]
}
[root@master ~]# systemctl restart docker
使用docker tag命令将centos:latest这个镜像标记为172.16.51.35:5000/centos:latest。
[root@master ~]# docker tag centos:latest 172.16.51.35:5000/centos:latest
docker tag语法如下:
# docker tag IMAGE:TAG/]REPOSITORY[:TAG]
使用docker push上传标记的镜像:
[root@master ~]# docker push 172.16.51.35:5000/centos:latest
使用curl命令查看仓库中的镜像:也可以在浏览器中访问上述地址查看
[root@master ~]# curl -L http://172.16.51.35:5000/v2/_catalog
提示{"repositories":["centos"]},则表明镜像已经上传成功了。
也可以在浏览器中访问上述地址查看
拉取镜像
登录Slave节点,配置私有仓库地址。
[root@slave ~]# cat /etc/docker/daemon.json
{
"insecure-registries": ["172.16.51.35:5000"]
}
[root@slave ~]# systemctl restart docker
拉取镜像并查看结果。
[root@slave ~]# docker pull 172.16.51.35:5000/centos:latest
echo '{ "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }' > /etc/docker/daemon.json
systemctl restart docker