是否有办法停止单个docker服务并删除其分配的卷?

问题描述 投票:0回答:2

我想知道(但搜索似乎表明不是这样),是否有泊坞窗命令来停止single容器并删除其分配的卷。相当于运行:1-docker-compose stop <service name>2-docker volume rm <volumes_attached_to_service>

我不介意它是否删除了该服务的图像。

docker docker-compose
2个回答
0
投票

停止服务后如何:

docker system prune --volumes

--volumes标志将删除所有未使用的卷。

https://docs.docker.com/engine/reference/commandline/system_prune/


0
投票

如果容器已停止但仍存在,否。您必须先删除使用该卷的所有容器,然后再删除该卷。即使使用docker volume rm --force也无法解决问题。

我在文档中找不到具体提及的内容,但是this issue讨论了缺少与该主题相关的文档以及一些解决方法。

但是,在某些情况下,您可以停止与其相关卷的AND delete容器:

  • [docker-compose down --volumes当要删除的所有卷都在使用的docker-compose down --volumes文件中列出]
  • 如果使用匿名卷,则使用docker-compose.ymldocker run --rm运行容器将导致在停止容器时删除容器和附加的匿名卷

在其他情况下,您将必须使用单独的命令删除容器并删除其卷。

© www.soinside.com 2019 - 2024. All rights reserved.