大家在写 dockerfile 时有啥最佳实践?希望得到大家的建议。


大家好,我业余时间写了一个 dockerfile 的语法检查和优化工具

http://dockerfile-linter.com/

主要参考了 Best practices for writing Dockerfiles 和在 DockOne 社区和分享里听到的经验,并把一些总结的经验放在里网站上。

大家还有啥更多的最佳实践,想学习一下补充到这个网站上,可以帮助大家写出更好的 dockerfile。

目前代码还在调整,如果大家觉得还不错,整理好后可以对外提供 API 或者开源出来,希望能得到大家的建议,谢谢 :)
已邀请:

xiaolunsanguo - 京东商城-基础平台部-JDOS团队

赞同来自: dockerfile oilbeater


抛砖引玉,我先说个:
FROM的镜像,最好是私有的。原因是即使是官方的,比如centos:centos6。官方也会进行修改或者升级,然后取代原来的镜像打上tag。而可能有的升级包并不是你需要的。会导致你的服务可能会有问题(踩过类似的坑)。
我的做法是,先自己搞一个镜像
比如写一个dockerfile
FROM centos:centos6
MAINTAINER xxx

然后构建,这样获得了我自己的私有镜像。以后的构建就可以基于这个镜像进行构建了。
FROM xxx/centos:centos6

这样保证使用的一致性。如果想要使用官方的新镜像,只要先把自己的私有镜像先后重新构建一遍就可以了。

田舍先生

赞同来自:


自己尝试通过Dockerfile去搭建一些比较实用环境,如nodejs,php,tomcat等。并参考人家类似功能的dockerfile是怎么写的。

oilbeater - 北大学渣@灵雀云

赞同来自:


试验了几个例子,发现 CMD ,EXPOSE ,ENTRYPOINT 之类的没填会有提示信息。

这些对于一个好的 dockerfile 确实是必须的,不过可能这些已经在 base image 中设置过了,只是继承下来,所以提示的内容可以略微更改一下改为『不明确指定某个 instruction 会集成 base 的』之类的这样会好一些

kingrush

赞同来自:


http://dockerfile-linter.com/ 无法访问了。

要回复问题请先登录注册