Docker CMD和ENTRYPOINT指令区别

CMD用于容器启动后默认执行的命令,支持三种格式,多条CMD仅最后一条生效。

Exec 格式:CMD ["executable","param1","param2"](推荐格式)

CMD ["param1","param2"] 为 ENTRYPOINT 提供额外的参数,此时 ENTRYPOINT 必须使用 Exec 格式。

Shell 格式:CMD command param1 param2

 

ENTRYPOINT用于容器启动以后执行的命令,支持两种格式,多条ENTRYPOINT仅最后一条生效。

Exec 格式:ENTRYPOINT ["executable", "param1", "param2"](推荐格式)

Shell 格式:ENTRYPOINT command param1 param2

 

区别:

如docker run 指定了其他命令,CMD 指定的默认命令和参数将被忽略,而ENTRYPOINT的命令和参数一定会执行。

//另外,二者并不冲突,可共存更好的提供运行策略。

posted @ 2018-03-28 12:51  elisun  阅读(3004)  评论(0编辑  收藏  举报