#每天都是崭新的一天#再累也要照顾好自己
docker启动gitlab,报错driver failed programming external connectivity on endpoint gitlab 。。。
发布于 作者 superadmin 988 次浏览 来自 分享

1、本来以为可以不开防火墙,这样端口问题就没有问题,发现docker启动gitlab之后

docker: Error response from daemon: driver failed programming external connectivity on endpoint gitlab (d2ab44d8d843143670e705529bd0c421ee631dca8bfd5f70f0a4e4bb764f5f4f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 192.168.0.2:443 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1)).

解决办法:

打开防火墙服务,开放相应的端口,暴露出来


2、后来又报错,名字重复

docker: Error response from daemon: Conflict. The container name "/gitlab" is already in use by container "b85f417db3e448fd19ad0fae514ae6a9f27c4970bd9d37394e42a09c2570fb91". You have to remove (or rename) that container to be able to reuse that name.

解决办法1:

要想使用原来的镜像名称,需要把创建的删除

删除 docker rm gitlab

解决方法2:

修改启动的名字


3、443端口已经使用

>     gitlab/gitlab-ce
docker: Error response from daemon: driver failed programming external connectivity on endpoint gitlab (557c04eb6c9a8ba2ffa22ac90dc7a29d0e588af70f108936ce10b10cccf58ee5): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use.

修改占用的端口

docker run \
    --hostname gitlab.mwcxs.top \
    --publish 4433:443 --publish 8080:80 --publish 22:22 \
    --name gitlab \
    --volume /home/databaken/gitlabdata/config:/etc/gitlab \
    --volume /home/databaken/gitlabdata/logs:/var/log/gitlab \
    --volume /home/databaken/gitlabdata/data:/var/opt/gitlab \
    gitlab/gitlab-ce


2 回复

docker: Error response from daemon: Conflict. The container name “/mysql” is already in use by container “27e9834dce87b6cac674945d7917ce2f9c52537569420275fd05b3e5e6460070”. You have to remove (or rename) that container to be able to reuse that name. 

出现上述的错误,是因为docker容器里面已经存在,如果不需要,则删除。docker rm 27e9834dce87b6cac674945d7917ce2f9c52537569420275fd05b3e5e6460070

(该containerID) 

如果想要再次使用,使用

docker restart 镜像名

则可以重启该container容器。


docker: Error response from daemon: driver failed programming external connectivity on endpoint gitlab (d267383c0ffb595d6e6f625c9b039007bd651f1d90f9ae80abb9d62b15c2671e): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use.

由于服务器的80端口已经运行了 web服务,而docker 运行需要80端口 

改如何修改 docker的80端口呢

docker run -d -p 8080:80 images/name 命令 将8080指向container里的80.

在用 nginx 指向8080 就可以访问了。


发布评论
微信群
saucxs聊天机器人
saucxs
hi ,欢迎来到sau交流学习社区,欢迎与我聊天,问我问题哦!
您正在使用的浏览器是,不在支持范围内!
为了您的正常使用与展示,推荐使用Chrome浏览器68以上版本
支持浏览器:
火狐浏览器最新版
Safari浏览器最新版
Edge浏览器最新版
IE浏览器10,11