docker - "docker stop"和 "docker rm"有什么区别?

标签 docker

我一开始以为docker stop相当于vagrant haltdocker rm相当于vagrant destroy .

但从根本上说,docker 容器是无状态的,除了 VOLUME 语句,AFAIK 甚至在 docker rm 之后保留目录内容,如果它不是用 调用的-v

那么,有什么区别呢?

最佳答案

docker stop将容器保存在 docker ps -a列表(如果您想将其状态保存在新图像中,则有机会提交它)。

它首先发送 SIGTERM,然后在宽限期之后发送 SIGKILL。

docker rm将从 docker ps -a 列表中删除容器,失去其“状态”(写在图像文件系统之上的分层文件系统)。它不能移除 running 容器(除非使用 -f 调用,在这种情况下它会直接发送 SIGKILL)。

就生命周期而言,您应该先停止容器,然后再将其移除。它给 container PID 1 to collect zombie processes 一个机会.

关于docker - "docker stop"和 "docker rm"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362856/

相关文章:

Docker(已停止)容器没有 IP 地址

docker - 如何在Azure Pipelines中使用Docker主机服务连接

docker - 如何使用同一Dockerfile处理应用程序的多种变体?

使用 docker 上传文件超过 30 MB 的 Azure 应用服务

r - 使用 docker 托管 R 管道工 API

docker - 是否可以在不运行所有先前构建阶段的情况下在 docker 中运行目标构建阶段

python - mysql 源命令在 docker 容器内什么都不做

docker - 我如何在kubernetes PHP pod中运行cronjobs?

docker - 在同一台机器的两个docker conatiners中创建kafka代理和zookeeper的利弊是什么

django - 在 docker 容器中使用 pgadmin 和 nginx