Docker中的RUN CMD和ENTRYPOINT
总结下Docker中的RUN CMD和ENTRYPOINT区别
命令
用途
备注
RUN
执行命令并创建新的镜像层
在当前镜像的顶部执行命令,并通过创建新的镜像层,经常用于安装软件包,Dockerfile 中常常包含多个 RUN 指令
CMD
设置容器启动后默认执行的命令及其参数
此命令会在容器启动且 docker run 没有指定其他命令时运行(CMD 能够被 docker run 后面跟的命令行参数替换)
ENTRYPOINT
配置容器启动时运行的命令
让容器以应用程序或者服务的形式运行
RUNRUN 指令通常用于安装应用和软件包。
RUN 在当前镜像的顶部执行命令,并通过创建新的镜像层。Dockerfile 中常常包含多个 RUN 指令。
RUN 有两种格式:
Shell 格式:RUN
Exec 格式:RUN ["executable", "param1", "param2"]
下面是使用 RUN 安装多个包的例子:
RUN apt-get update && apt-ge ...