1.拉取私有仓库镜像
docker pull registry
2.启动私有仓库容器
docker run -id --name=registry -p 5000:5000 registry
3.允许远程访问
此时已经创建了registry容器,但是可能还无法远程访问
vim /usr/lib/systemd/system/docker.service
需要修改如下配置
[43.138.31.62](http://xxxx.xx.xxx.xxx:5000/v2/_catalog)
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock
如果服务器内部可以 互通端口,外网无法访问端口,可以关闭防火墙尝试
我尝试了很多种方法,关闭防火墙,开启防火墙添加端口,外网都无法访问(一般都是防火墙的问题)
最后,发现我使用的腾讯云服务器,在控制台-防火墙-添加规则后就可以正常访问docker端口了
上传镜像的时候也可能会遇到的一些问题
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.2.2:build (default-cli)
on project rv-eureka:
Exception caught: Timeout:
GET http://x.x.x.x:2375/version: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException:
com.spotify.docker.client.shaded.org.apache.http.conn.ConnectTimeoutException:
Connect to x.x.x.x:2375:2375 [/x.x.x.x] failed: connect timed out -> [Help 1]
这个是因为访问不到2375端口
修改docker.service文件
vim /usr/lib/systemd/system/docker.service
在ExecStart后面添加
-H tcp://0.0.0.0:2375
重新访问ip:2375/version是否返回json数据
如果没有,说明可能是防火墙的问题
查看防火墙
#查看防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#添加2375端口
firewall-cmd --zone=public --permanent --add-port=2375/tcp
#重启防火墙
firewall-cmd --reload
#查看开放的端口
firewall-cmd --permanent --zone=public --list-ports
如果还无法访问,查看腾讯云控制台-防火墙是否开启端口
网友评论