【发布时间】:2019-04-28 14:45:30
【问题描述】:
我的 CI/CD 使用 docker compose 运行测试。我使用--abort-on-container-exit 选项,因此一旦测试容器完成,compose 就会停止所有容器。
但是,compose 创建的网络似乎仍在运行。这是一个问题,因为我们很快就达到了 Docker 中的网络定义限制。
我查看了有关在容器退出后删除网络的方法的文档,但我找不到任何东西。我想我可以做一个docker-compose stop,但这不适合我的 Jenkins 管道。
有没有办法通过docker-compose up 选项或在撰写清单中实现这一点?
【问题讨论】:
-
你可以创建一个系统cronjob并运行
docker network prune -f -
你是对的,这就是我现在正在做的事情,但我正在寻找一个解决方案,我只修剪运行最后一次 docker compose 运行创建的网络。如果 docker compose run 中没有这样的选项,我会坚持这个解决方案
-
您是否还删除了容器?
docker-compose down可以在这里选择吗? -
是的,我想这可能是一个选择
标签: docker jenkins docker-compose continuous-integration docker-networking