首页 > 解决方案 > docker 容器未从 docker 中移除

问题描述

我正在尝试删除容器,但是当我运行时docker-compose rm,运行良好,但是当我docker ps再次运行时,它显示容器:

root@datafinance:/tmp# docker-compose rm
Going to remove tmp_zookeeper_1_31dd890a1cbf
Are you sure? [yN] y
Removing tmp_zookeeper_1_31dd890a1cbf ... done
root@datafinance:/tmp# docker ps
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS              PORTS               NAMES
03b08e4ef0b3        confluentinc/cp-zookeeper:latest   "/etc/confluent/dock…"   14 hours ago        Up 14 hours                             docker_c_zookeeper_1_7c953dce7d69

标签: dockerdocker-compose

解决方案


使用docker-compose ps,它将显示仅由 启动的容器docker-compose up。如果它显示没有容器,那么这意味着这个容器不是由 this 启动的docker-compose.yaml

并且Error starting userland proxy: listen tcp 0.0.0.0:32181: bind: address already in use'表示端口 32181 被other docker container或占用other process。您可以使用docker rm -f $(docker ps -qa)删除所有容器或更多容器netstat -oanltp | grep 32181来查找真正占用 32181 的进程。

最后,如果由于任何原因您无法按照您所说的删除容器,您可以使用service docker restartorsystemctl restart docker关闭所有容器。然后重复上面docker rm xxx

通过以上步骤,您现在可以docker compose up -d使用您的服务了。


推荐阅读