其他docker服务器连接docker私有仓库 harbor 方法

其他docker服务器连接docker私有仓库 harbor 方法

cd /etc/sysconfig/

vim docker

插入一行:

OPTIONS="--insecure-registry harborIP"

例如:OPTIONS="--insecure-registry 192.168.242.132"

 

修改docker.service

vim /usr/lib/systemd/system/docker.service

在 [Service] 中插入一行

EnvironmentFile=-/etc/sysconfig/docker

修改一行

ExecStart=/usr/bin/dockerd $OPTIONS

保存,然后重启服务

 

systemctl daemon-reload

systemctl restart docker.service

 

重新登录

docker login 192.168.242.132

 

然后依次输入用户名和密码,登录成功。

【注意】这里如果docker镜像仓库服务器不启动容器就会出现错误【Error response from daemon: Get https://192.168.242.132/v1/users/: dial tcp 192.168.242.132:443: getsockopt: no route to host】

这是因为harbor没有启动,到harbor服务器运行下面的命令即可

docker-compose up -d

 

遇到问题】另外如果在镜像仓库服务器启动harbor时遇到这个错误【Creating network "harbor_harbor" with the default driver

ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-b028bf745bf8 -j RETURN: iptables: No chain/target/match by that name.】

重启docker服务可以解决

systemctl restart docker.service

推送镜像到镜像仓库

先查看客户端本地的镜像,我这里有一个很小的镜像

docker images 

先要标记镜像

docker tag alpine:latest 192.168.242.132/library/alpine:latest

然后推送镜像

docker push 192.168.242.132/library/alpine:latest 

这里没有报错,现在通过浏览器登录harbor查看一下:

推送成功,现在查看客户端的镜像可以看到两个(其实是一个,ID相同):

从Harbor镜像仓库拉取镜像到客户端

先将客户端的已有镜像删除

docker rmi 11cd0b38bc3c

然后使用命令拉取镜像

docker pull 192.168.242.132/library/alpine:latest

最后查看镜像,拉取成功。

同时通过harbor界面可以查看到镜像下载的次数

 

猜你喜欢

转载自www.cnblogs.com/li0920/p/12766450.html