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

[经验分享] Dockerfile文件

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-6-21 08:54:04 | 显示全部楼层 |阅读模式
Dockerfile:包含创建镜像所需的全部指令
Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,支持以#开头的注释行

相关指令:
1.FROM image 或者 FROM <image>:<tag>
可以为后面的指令提供基础镜像,因此一个有效的Dockerfile必须以FROM指令作为第一条非注释指令,如果在同一个Dockerfile中创建多个镜像时,可以使用多个 FROM 指令(每个镜像一次)

2.MAINTAINER <author name>
设置该镜像的作者

3.ENV <key><value>或者 <key>=<value>
可以为镜像创建处理的容器声明环境变量,会被后续RUN指令使用,并在容器运行时保持

4.COPY <src> <dest>
复制src中指定的文件或目录到新的镜像中,当使用本地目录为源目录时,推荐使用COPY指令

5.ADD <src><dest>
和copy类似,都支持复制本地文件到镜像的功能,其中 src可以是一个指向网络文件的url;src也可以指向一个本地压缩文件,该文件在复制到容器中时会解压提取

6.RUN <command>
RUN指令会在前一条命令创建出的镜像的基础上创建一个容器,并在容器中运行命令,在命令结束运行后提交容器为新镜像,新镜像被Dockerfile中的下一条指令使用

7.  CMD ["executable","param1","param2"] (exec执行,推荐使用)或CMD <command>或 CMD ["param1","param2"] 或 CMD command param1 param2
一个Dockerfile中可以有多条CMD指令,但只有最后一条CMD指令有效

8.ENTRYPOINT <command> 或者 ["executable","param1","param2"],配置容器启动后执行的命令
配置给容器一个可执行的命令,一个Dockerfile中可以有多条ENTRYPOINT指令,但只有最后一条ENTRYPOINT指令有效

9.ONBUILD [INSTRUCTION]
添加一个将来执行的触发器指令到镜像中,配置当所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令

10.EXPOST <port>  
指定容器在运行是监听的端口映射

11.WORKDIR  /path/to/workdir
指定RUN,CMD和ENTRYPOINT命令的工作目录,可使用多个workdir指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径

12.USER <uid>
镜像正在运行时设置一个UID

13.VOLUME ["/data"]
授权访问从容器内到主机上的目录,一般用来存放数据库和需要保持的数据


运维网声明 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-233053-1-1.html 上篇帖子: 关于本人就任版主的首肯承诺与职责范围 下篇帖子: Docker中容器的备份、恢复和迁移
累计签到:54 天
连续签到:1 天
发表于 2016-6-21 09:46:32 | 显示全部楼层
嗯嗯,很好,其实你还可以将Docker容器的实际应用,更深挖广进一些,我给你高亮置顶

运维网声明 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

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