run|cmd|entrypoint

RUN             执行命令并创建新的image  layer   
CMD            设置容器启动后默认执行的命令和参数
ENTRYPOINT    设置容器启动时运行的命令

Shell格式

RUN    agt-get install -y vim
CMD    echo "xx"
ENTRTPOINT    echo    "xx"

Exec格式 (单纯的执行命令,不是在shell中运行;可以指定bash) 命令的变量不会被替换

RUN ["apt-get","install","-y","vim"]
EXNTRYPOINT ["/BIN/BASH","-c","echo hello $name"]

 cmd

容器启动时默认执行的命令
如果docker run指定了其他命令,cmd命令会被忽略
如果定义了多个CMD,只有最后一个会执行

entrypoint

让容器以应用程序或者服务的形式运行
不会被忽略,一定会执行

 

posted @ 2020-03-06 10:16  慕沁  阅读(169)  评论(0)    收藏  举报