#1 楼
Docker容器有2个真正的重点。您确保在容器内部对应用程序依赖项进行了版本控制和封装
。只要您拥有Docker守护程序,容器就可以在任何地方顺利运行。
您可以随时创建/销毁
容器的能力,也称为临时属性。您可以轻松进行测试,并在需要时维护N个(例如,K8S中的副本集就是这样做的,Docker Swarm也使用服务来维护该数字)。 as
图像是只读模板,其中包含用于创建Docker容器的说明。
您无法删除图片,因为容器依赖它。
docker image rm ubuntu:20.04
Error response from daemon: conflict: unable to remove repository reference "ubuntu:20.04" (must force) - container ecd06b4eb4bf is using its referenced image
那么您可以强制执行该过程
docker image rm -f ubuntu:20.04
Untagged: ubuntu:20.04
Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7
Untagged: ubuntu@sha256:8bce67040cd0ae39e0beb55bcb976a824d9966d2ac8d2e4bf6119b45505cee64
但这只是取消标记图像,它仍然在。
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 1d622ef86b13 3 weeks ago 73.9MB
因此,对于您的问题,最佳实践是仅删除任何容器未使用的图像。如果您维护2-5个应用程序版本,则可以安全地删除其他版本。同样,您应该努力使每张图像的尺寸最小化,即使总的大小也不会影响您的可用空间。