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的命令和参数一定会执行。
//另外,二者并不冲突,可共存更好的提供运行策略。