当您运行 docker run 时,您可以选择添加 --rm 和 --restart。但是如何在 dockerfile 中获得相同的效果呢?
Dockerfile 用于指定构建镜像的指令。
构建镜像后,您可以使用docker run命令从该镜像启动容器。--rm和--restart是 的选项docker run,这意味着这些命令适用于容器。使用该--restart标志,您可以指定容器的重新启动策略。--rmflag 用于在容器退出时删除容器上的文件系统。
我希望您能明白为什么这两个标志提供的功能不属于 Dockerfile。如果没有,您真的应该阅读更多有关 Docker 的内容(尤其是镜像与容器)。
添加:
--rm删除文件系统并清理容器。restart仅用于重新启动容器,文件系统在重新启动之间消失将是非常不愉快的。另请注意,删除文件系统后重新启动更像是“重新启动”而不是“重新启动”。所以基本上它们是相互排斥的。将它们一起使用会导致错误。你在哪里做并不重要。
--rm并且--restart不能在Dockerfile中定义。这些选项也是互斥的。docker run只允许使用其中之一。
Docker Compose文件允许您设置restart容器的选项。不过,容器删除更多的是其他 compose 命令(如 、 )的生命周期事件up --build,down而rm不是分配给容器的事件。
| 归档时间: |
|
| 查看次数: |
10789 次 |
| 最近记录: |