Dockerfile 的 ENTRYPOINT 与 CMD区别
Dockerfile 有两个启动配置CMD
和ENTRYPOINT
, 可以在 Dockerfile 中来配置容器启动时自动执行的命令, 但是这二者有什么区别呢, 接下来总结如下:
首先来看一下CMD
, 有三种格式的配置, 分别是:
CMD ["executable","param1","param2"]
(exec 格式, 推荐的格式)CMD ["param1","param2"]
(作为 ENTRYPOINT 的默认参数)CMD command param1 param2
(shell 格式)
在使用时, 要注意一下问题
包含可执行文件时, 为容器指定默认执行命令, 这个是主要用途;
不包含可执行文件时, 必须提供
ENTRYPOINT
配置,CMD
作为默认参数;Dockerfile 中只能有一个...