我对何时应该使用CMDvs 感到困惑RUN。例如,要执行bash / shell命令(即ls -la),我将始终使用它,CMD或者是否存在我会使用的情况RUN?试图了解有关这两个类似Dockerfile指令的最佳实践。
CMD
RUN
ls -la
Dockerfile
RUN是映像构建步骤,RUN命令后将容器的状态提交到容器映像。一个Dockerfile可以有很多RUN步骤相互叠加以构建映像。
CMD是启动构建映像时容器默认执行的命令。Dockerfile将仅使用最终CMD定义的。使用CMD启动容器时可以覆盖docker run $image $other_command。
docker run $image $other_command
ENTRYPOINT也与CMD容器密切相关,并且可以修改容器启动图像的方式。