RUN
、 CMD
和 ENTRYPOINT
命令解释
RUN CMD ENTRYPOINT
执行方式
-
EXEC
FROM debian RUN ['apt-get','install','-y','vim'] CMD ['/bin/echo','hello world!!'] ENTRYPOINT ['/bin/echo','hello world!!']
-
SHELL
FROM debian RUN apt-get install -y vim CMD echo 'hello world!!' ENTRYPOINT echo 'hello world!!'
注意事项
-
使用run命令构建镜像时
apt-get update && apt-get install -y
需要放在同一个RUN
命令中,否则apt-get install
会从缓存中安装软件,导致apt-get update
执行毫无意义 -
apt-get install
的软件尽量一个一行并且按照字母顺序排列,这样可以避免安装重复的命令 -
apt-get install
安装软件时可以为软件指定特定的版本apt-get install -y aufs-tools s3cmd=1.1.*
命令差异
-
CMD
- 容器启动时默认执行的命令
- docker run 指定了其他命令,CMD会被忽略
- 如果定义了多个CMD,只有最后一个会执行
-
ENTRYPOINT
- 让容器以运用程序或者服务的形式运行
- 不会被忽略,一定会执行
- 最佳实践,写一个 shell 脚本作为entrypoint
COPY ./script/test.sh /usr/local/bin ENTRYPOINT ['test.sh']
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Netty实战
诺曼·毛瑞尔(Norman Maurer)、马文·艾伦·沃尔夫泰尔(Marvin Allen Wolfthal) / 何品 / 人民邮电出版社 / 2017-5-1 / 69.00
编辑推荐 - Netty之父”Trustin Lee作序推荐 - 阿里巴巴中间件高级技术专家为本书中文版作序推荐 - 系统而详细地介绍了Netty的各个方面并附带了即用型的优质示例 - 附带行业一线公司的案例研究 - 极实用的Netty技术书 无论是构建高性能的Web、游戏服务器、推送系统、RPC框架、消息中间件还是分布式大数据处理引擎,都离不开Nett......一起来看看 《Netty实战》 这本书的介绍吧!