我正在尝试使用jenkins job运行docker编写。“sudo docker-编写-删除-孤儿”
我在使用docker-compose down时使用了--remove-orphans命令。仍然会出现以下错误。
删除网络时删除网络. abc错误:网络ID***********具有活动端点状态为1的失败命令:sudo停靠器-向下组合--删除-孤立
下面是我的码头作曲:
version: "3.9"
services:
abc:
image: <img>
container_name: 'abc'
hostname: abc
ports:
- "5****:5****"
- "1****:1***"
volumes:
- ~/.docker-conf/<volume>
networks:
- <network>
container-app-1:
image: <img2>
container_name: 'container-app-1'
hostname: 'container-app-1'
depends_on:
- abc
ports:
- "8085:8085"
env_file: ./.env
networks:
- <network>
networks:
<network>:
driver: bridge
name: <network>
5条答案
按热度按时间cl25kdpy1#
要列出您的网络,请运行
docker network ls
。您应该在那里看到您的<network>
。然后使用以下命令获取仍连接到该网络的容器(在命令末尾替换您的网络名称):对于返回的各种容器ID,您可以检查它们为什么没有停止(检查日志,确保它们是合成项目的一部分,等等),或者如果不再需要它们,则使用以下命令手动停止它们(将
<cid>
替换为您的容器ID):然后,您应该能够停止合成项目。
a64a0gku2#
有一种情况,根本没有容器,但是出错了,然后
systemctl restart docker
帮了我pprl5pva3#
当您有一个db示例运行在单独的container上并使用同一个网络时,也可能发生这种情况。
将停止容器。我们可以使用@BMitch提供的命令找到正在使用网络的容器ID
但在我的情况下,当我这样做时,它也使postgres示例“成为孤儿”。
之后,我使用docker compose文件启动了一个新的数据库示例(postgres),并将该示例的数据卷目录Map到前一个数据库示例的数据目录。
ttvkxqim4#
我的问题只有通过重新启动Docker,然后从Docker桌面手动删除容器才能解决。
p5fdfcr15#
我相信您可以用途:
断开有问题的容器(如果您知道其名称)与网络的连接,按照:https://docs.docker.com/network/bridge/#disconnect-a-container-from-a-user-defined-bridge:
要断开正在运行的容器与用户定义桥的连接,请使用docker network disconnect命令。