一尘不染

Dockerfile中RUN和CMD之间的区别

docker

我对何时应该使用CMDvs 感到困惑RUN。例如,要执行bash / shell命令(即ls -la),我将始终使用它,CMD或者是否存在我会使用的情况RUN?试图了解有关这两个类似Dockerfile指令的最佳实践。


阅读 527

收藏
2020-06-17

共1个答案

一尘不染

RUN是映像构建步骤,RUN命令后将容器的状态提交到容器映像。一个Dockerfile可以有很多RUN步骤相互叠加以构建映像。

CMD是启动构建映像时容器默认执行的命令。Dockerfile将仅使用最终CMD定义的。使用CMD启动容器时可以覆盖docker run $image $other_command

ENTRYPOINT也与CMD容器密切相关,并且可以修改容器启动图像的方式。

2020-06-17