使用 docker-compose.yml 自动删除容器

新手上路,请多包涵

docker-compose run 有一个标志 --rm 运行后自动删除容器。我想知道对于特定服务是否有与 docker-compose.yml 等效的配置,因为我在 yml 中获得的服务之一是一次性构建过程,它应该只输出编译文件并自行消失。

原文由 Fan Cheung 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.5k
2 个回答

我没有找到任何选项来帮助您在 docker-compose.yml 文件中定义此行为,我认为解释是它会破坏某些 docker-compose ... 命令应该如何工作.

更多关于这个 up / down , start / stop 事情:

docker-compose up 为服务构建、(重新)创建、启动和附加到容器。

Since your images are built and the containers of your service have started, you can then use docker-compose stop and docker-compose start to start/stop your服务。这与 docker-compose down 不同,后者:

停止容器并删除由 up 创建的容器、网络、卷和映像。

您尝试做的事情有问题:

如果您 docker-compose up 并且您的一个容器完成了它的任务并被(自动)删除,那么您就不能 docker-compose stopdocker-compose start 再次。被移除的容器将不再存在 start 它。


你可能想看看:

原文由 tgogos 发布,翻译遵循 CC BY-SA 4.0 许可协议

只需运行 docker-compose up && docker-compose rm -fsv 🙂

👉 https://docs.docker.com/compose/reference/rm

移除停止的服务容器

--force , -f      Don't ask to confirm removal
--stop , -s       Stop the containers, if required, before removing
--volumes , -v    Remove any anonymous volumes attached to containers

原文由 Thomas Gotwig 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题