1.问题描述:使用docker rm <容器名> 删除容器后,使用相同的容器名或端口重新部署此容器,出现docker-service with name xxx already exists或Bind for 0.0.0.0:8080 failed: port is already allocated错误。如下图所示:
2.故障原因:删除docker容器后,对应的容器名称或容器端口未成功释放,网络仍被占用。
3.解决方案:找到容器对应的网络占用,并清理即可。
3.1.首先查找所有桥接网络模式(docker容器默认网络模型,可根据情况更改)下的网络占用。
docker network inspect bridge
3.2.找到重名容器,并释放其网络占用
docker network disconnect --force bridge <容器名>
4.重新部署容器,成功!