(抱歉,使用带引号的术语“kill”不是关于 docker-compose kill
,而是关于进程真正走出“UNIX ps
列表”之后的“UNIX ps
杀死”)
通常docker run
可以被平常“杀死”docker stop
,因为停止后我在 docker ps -a
处看不到容器。 ...如果正确,则 docker-compose
存在语义错误因为我无法“杀死”容器,所以它们停留在 docker ps
。
经过我的简单docker-compose up
(没有&
)我做^C
容器停留在 docker ps -a
...不可能被docker compose stop
杀死.
注意:当我使用普通 docker run
时然后是docker stop
docker ps -a
没有任何内容,所以我可以说“我杀了它”。
最佳答案
Usual
docker run
can be "killed" by usualdocker stop
, because after stop I not see the container atdocker ps
.
没有。 docker stop
只是停止正在运行的容器,它不会删除容器。仅当您使用 docker run --rm ... 时才会发生这种情况。此 --rm
选项意味着当容器停止时,它将被删除/删除。
Docker
docker run ...
创建并运行容器docker stop ...
停止正在运行的容器docker start ...
启动已停止的容器docker rm ...
删除已停止的容器
Docker 组合
docker-compose up
创建并运行容器集合docker-compose stop
停止容器docker-compose start
启动容器docker-compose down
停止并删除容器
(这是问题的答案)
小心...
正如评论部分中所讨论的,通过使用 docker-compose down 还可以发生有关卷、网络的其他事情。请记住,您可能会丢失数据(例如,如果您的容器是数据库),请确保您已保存它们,或者您能够以某种方式再次创建它们。
关于docker - 如何杀死 docker-compose 生成的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51517418/