@websec007
2018-08-28T12:58:47.000000Z
字数 406
阅读 1701
Docker容器
RUN、CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆。这里我们通过实践详细讨论它们的区别。
命令 | 主要作用 | 使用场景 | 执行时间 |
---|---|---|---|
RUN 命令 | 执行并创建新的镜像层; | 经常用于安装软件包; | 构建镜像时执行命令; |
CMD命令 | 主要用于“设置容器启动后默认执行的命令 及其“参数 ”。但又要注意“ CMD 命令能够被 docker run 后面跟的命令行参数替换”。 |
向容器内部传递命令,且只能执行一次; | 创建容器后执行命令 |
ENTERPOINT命令 | 设置容器启动后默认执行的命令 |
向容器内部传递命令,通常与CMD命令结合使用; | 创建容器时执行命令; |
通过上面的命令区别概括,我们可以看到RUN、CMD 和 ENTRYPOINT
执行的先后顺序:RUN -> ENTERPOINT -> CMD