我是第一次尝试 Docker,但还没有“心智模型”。完全初学者。
我正在查看的所有示例都包括要运行的 --rm
标志,例如
docker run -it --rm ...
docker container run -it --rm ...
问题:
为什么这些命令包含 --rm
标志?我会认为,如果我要经历设置或下载包含好东西的容器的麻烦,为什么要删除它?我想保留它以再次使用。
所以,我知道我对 Docker 有错误的想法。
原文由 matchingmoments 发布,翻译遵循 CC BY-SA 4.0 许可协议
容器只是您用来运行它们的映像的一个实例。创建容器化应用程序时的心态不是以一个全新的、干净的 ubuntu 容器为例,下载你希望在其中拥有的应用程序和配置,然后让它运行。
您应该将容器视为应用程序的一个实例,但您的应用程序是嵌入到图像中的。正确的用法是创建自定义图像,将所有文件、配置、环境变量等嵌入到图像中。 在此处 阅读有关 Dockerfile 及其完成方式的更多信息
一旦你这样做了,你就有一个包含所有东西的图像,为了使用你的应用程序,你只需使用正确的端口设置或其他动态变量运行图像,使用
docker run <your-image>
运行带有
--rm
标志的容器对于那些您使用很短的时间只是为了完成某些事情的容器很有用,例如,在容器中编译您的应用程序,或者只是测试它可以工作的东西,然后您就知道了它是一个短命的容器,你告诉你的 Docker 守护进程,一旦它完成运行,删除与它相关的所有内容并节省磁盘空间。