CMD
- 设置容器启动后默认执行的命令和参数
- 如果docker run 指定了其他命令,CMD命令可以被忽略
- 如果定义了多个CMD,只有最后一个会执行
RUN
执行命令并创建新的Image Layer
ENTRYPOINT
- 设置容器启动时运行的命令
- 适合让容器以应用程序或者后台服务的形式来运行
- 不会被忽略,一定会执行
使用shell风格
# 输出的结果为 Hello Docker
FROM centos
ENV name Docker
ENTRYPOINT echo "Hello $name"
使用exec风格
# 输出的结果为 Hello $name
FROM centos
ENV name Docker
ENTRYPOINT ["echo","Hello $name"]
# 输出的结果为 Hello Docker
FROM centos
ENV name Docker
ENTRYPOINT ["sh","-c","echo Hello $name"]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。