使用Docker时,在启动一个容器时,有时会遇到如下问题:
docker: Error response from daemon: service endpoint with name xxx already exists.
说明此端口已经被名为xxx的容器占用了。
我这里遇到的是问题是,在启动mysql时出现问题:
root@iZuf6axmuekh1n14dwcufmZ:~# docker restart mysql1
Error response from daemon: Cannot restart container mysql1: service endpoint with name mysql1 already exists
解决方法:
1.停止所有的容器,有时候也不需要全部停止
docker stop $(docker ps -q)
2.强制移除此容器
docker rm -f mysql1
3.清理此容器的网络占用
格式:docker network disconnect --force 网络模式 容器名称
示例:docker network disconnect --force bridge mysql1
4.简查是否还有同名容器占用
格式:docker network inspect 网络模式
示例:docker network inspect bridge
5.重新构建容器
docker run --name mysql1 -d -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest