1. 启动docker时映射到宿主机时出现/usr/bin/docker-current: Error response from daemon: driver failed...的解决方案
启动docker映射到宿主机时出现如下错误时:
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint jovial_saha (5f31b67b738bca942f993bbb75bd363dff460b2243dff5bd940991d2ffd1346c): Bind for 0.0.0.0:8080 failed: port is already allocated.
这是由于来自守护进程的错误响应,而致使外部连接失败。解决的办法就是将其docker进程 kill掉,然后再 清空掉iptables下nat表下的所有链(规则) 。最后,将 docker的网桥删除,并重启docker服务.
[root@7con ] pkill docker #终止进程
[root@7con ] iptables -t nat -F #清空nat表的所有链
[root@7con ] ifconfig docker0 down #停止docker默认网桥
[root@7con ] yum install bridge-utils -y # 部分机器是无法使用brctl,所以需要提前安装
[root@7con ] brctl delbr docker0 #删除网桥
[root@7con ] systemctl restart docker #重启docker
重启后不出以意外的话就可以了。
2.service endpoint with name xxx already exists ( docker 已删除的容器却依旧存在)
(1)启动服务报错如题
确认 我已经 docker rm -f XXX 了。也确认各个容器端口并不重复。
重新启动容器服务依旧报错:
意思是这个端口已经被名为xxx的容器占用了。 而执行 docker ps 又找不到这个容器,这种情况,通常是xxx容器没有正常删除导致的。这时我们可以使用命令:
# 查看已连接的容器
docker network inspect bridge
可以看到,此时 stoic_varahamihira 这 个容器都还和docker保持连接的 。
(2)断开其网络连接 :
#断开连接
docker network disconnect --force bridge stoic_varahamihira
再次查看,stoic_varahamihira 已不存在:
之后重新启动服务,发现可以成功启动,问题解决