我对何时应该使用 CMD
vs RUN
感到困惑。例如,要执行 bash/shell 命令(即 ls -la
),我将始终使用 CMD
或者是否存在我会使用 RUN
的情况?试图了解这两个相似的 Dockerfile
指令的最佳实践。
原文由 TakeSoUp 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对何时应该使用 CMD
vs RUN
感到困惑。例如,要执行 bash/shell 命令(即 ls -la
),我将始终使用 CMD
或者是否存在我会使用 RUN
的情况?试图了解这两个相似的 Dockerfile
指令的最佳实践。
原文由 TakeSoUp 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答799 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
1 回答962 阅读
RUN 是一个镜像构建步骤,在
RUN
命令之后的容器状态将提交给容器镜像。一个 Dockerfile 可以有许多RUN
一层一层地构建镜像的步骤。CMD 是启动构建镜像时容器默认执行的命令。一个 Dockerfile 将只使用最终定义的
CMD
。当使用CMD
启动容器时,可以覆盖docker run $image $other_command
。ENTRYPOINT 也与
CMD
密切相关,可以修改容器从镜像启动的方式。