设为首页 收藏本站
查看: 856|回复: 1

[经验分享] 拥抱Docker(六)关于DockerFile(2)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-5 17:06:41 | 显示全部楼层 |阅读模式
上一章,我们讲了DockerFile的最基本构成,讲了两种Dockerfile的构建Image方式,这一篇,我们将来介绍DockerFile里面所带的N多参数。
以下就是今天所要说DockerFile涉及的环境:
wKiom1d8ypnzthK0AABt0F9DUrM691.jpg
DockerFile简易示意图:
wKiom1d8ypyTGrvEAABLL-3FORs227.jpg
1、 RUN参数:我们在上一章创建的DockerFile里加入参数Run yum install –y vim*:
wKioL1d8yp3hxbYRAAAx5D1p1W4910.jpg
2、 尝试构建,你就会发现Dockerfile的RUN参数生效了:
wKioL1d8yp6QLaekAACEPO0H_LE679.jpg
wKioL1d8yp_Q1OXVAABbHcsJsSk771.jpg
3、 所以,RUN的作用就是可以帮你运行一些需要预运行的命令,但是最好不要在RUN里面做类似“yum update”、“apt-get update”之类的操作,这并不符合Dockerfile的最佳实践。
4、 CMD参数:介绍到RUN就不得不介绍下CMD了,CMD命令与RUN的区别在于,CMD在一个DockerFile只能用一次,如果在DockerFile存在多个CMD的话,默认只运行最后一条,比如你可以在最后一行写上一句“Enjoy your docker images”,CMD的调用比较特殊,是在通过以你的images构建完成容器后自动触发,比如docker run ImagesName:
wKioL1d8yp-Bygn7AAAlvEA-KZY268.jpg
5、 EXPOES参数:这个参数用来指定Container需要暴露给其他Container的端口,相当于构建内部网络,与-p的区别在于,expoes是对内提供端口方法(Container之间,比如ngx访问mysql),-p参数是映射端口相当于NAT,比如:
wKioL1d8yqCCeZPfAABDWko29PA591.jpg
6、 构建完成:
wKiom1d8yqGzdXfeAAEKANkjyuo556.jpg
7、 接着,我们通过这个images创建两个容器,就明白EXPOSE参数的作用了,可以看到下图有出现“port 22”:
wKiom1d8yqKRiuB-AADCt5wGuJ8343.jpg
8、 但是在端口映射表里是看不到的,证明这是内部映射端口:
wKioL1d8yqPwdiX2AACwwxOe68U948.jpg
9、 进入其中一个容器,使用nmap测试另外一个容器的端口是否能够相通:
wKiom1d8yqXQx3TlAAFk9g9fojk885.jpg
10、 ENTRYPOINT参数:就此可以看出EXPOSE的作用,眼尖的人儿可能看到我使用了ENTRYPOINT这个参数,ENTRYPOINT这个参数的属性跟CMD有点儿像,同样是多个参数存在的时候只执行最后一条,这个例子中,我使用了该参数将SSH服务作为一个后台服务进行运行:
wKiom1d8yqWiZj-MAABXGYbWc_8710.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-268072-1-1.html 上篇帖子: 拥抱Docker(六)关于DockerFile(3)示例 下篇帖子: 拥抱Docker(六)关于DockerFile(1)
累计签到:34 天
连续签到:1 天
发表于 2016-9-13 09:48:39 | 显示全部楼层
{:6_404:}{:6_404:}{:6_404:}{:6_404:}{:6_404:}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表