gpt4 book ai didi

docker - 删除容器是什么意思/做什么?

转载 作者:行者123 更新时间:2023-12-04 13:01:12 25 4
gpt4 key购买 nike

我开始接触 Containers 和 Docker。在 Docker 的世界(或一般的容器世界)中,我试图理解“删除容器”的含义。我对容器的心智模型是它是一个正在运行的图像实例。如果容器停止执行,它消耗了哪些需要释放的资源?我可以理解删除关联的图像,因为它们消耗磁盘空间。也许我将容器视为“图像的运行实例”的心理模型是不正确的,而且还有更多。如果有人能阐明一些观点,我将不胜感激。

最佳答案

你快到了。
在 Docker 中,当容器运行时,docker 守护进程使用 unionfs 挂载图像层。它在图像层之上添加了一个层,以跟踪该容器内发生的变化。假设写入的日志文件作为该层的一部分进行跟踪。

通过删除容器,您可以删除用于跟踪容器在镜像之上所做的这一层更改的资源。

当容器运行时,它会消耗与该层相关的 CPU、内存和 HDD 空间。

当容器停止时,CPU 和内存被释放,但硬盘空间仍在使用。 (您可以使用 docker ps -a 检查已停止的容器;这将显示所有状态的所有容器)

当一个停止的容器被移除时,硬盘空间也会被释放。
Docker 还会在您删除容器时删除与容器关联的所有元数据(启动时间、文件所在位置等)。

要获得更多乐趣,请执行以下操作:
docker inspect <image_name>:<tag>并查看其输出。
docker inspect <containerid>并查看它的输出,这里的 containerid 应该是从上面的图像运行的容器。看看您是否可以找出层并将它们跨图像和容器交叉关联。

关于docker - 删除容器是什么意思/做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56796876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com