3.docker学习笔记:编写Dockerfile文件

本文详细介绍了Dockerfile的编写规则,包括FROM、MAINTAINER、CMD、RUN、EXPOSE、ADD、COPY、VOLUME、WORKDIR、USER、ONBUILD、LABEL、STOPSIGNAL、ARG和ENV等关键字的用法,并通过zabbix_server的示例阐述了如何编写和使用Dockerfile来构建镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写Dockerfile文件


编写规则

在构建新的镜像时如果采用docker build的方式是需要编写Dockerfile文件的,该文件定义了容器在创建时的行为(安装软件、执行命令、拷贝文件等)。docker会在build的时候执行相关操作,下面介绍Dockerfile的关键字和编写规则。

Dockerfile中的指令主要有以下几种,CMD、ENTRYPOINT、RUN、EXPOSE、FROM、ADD、COPY、VOLUME、WORKDIR、USER、ONBUILD、LABEL、STOPSIGNAL、ARG和ENV等操作。下面对这些命令逐个进行解释,最后我们在编写相关的示例文件来加深理解:


1.FROM

设置基础镜像的名称,可以采用“minhviet/centos-6.5”这种全称形式,minhviet为作者名称,centos-6.6为镜像名称。

eg:

FROM minhviet/centos-6.5

要点:

FROM必须是第一个非注释的命令;


2.MAINTAINER

设置创建该镜像的作者信息。

eg:

MAINTAINER zhang chi "********@qq.com"

3.CMD

CMD指令用于指定一个容器启动时需要运行的命令,这个和RUN指令有不同。RUN指令是指镜像被构建时需要运行的命令。CMD的执行可以通过exec的方式书写。

eg:

CMD["yum", "install", "vsftpd", "-y"]

要点:

1.在Dockerfile中只可以指定一个CMD命令。如果指定多个,也只有最后一个生效
2.如果在容器启动命令run中指定了启动时的命令,则run中的指令会覆盖掉CMD的操作。


4.RUN

RUN指令是构建镜像时所需要执行的命令,他的书写方式也有两种:
(1)shell命令行形式;

RUN yum install httpd -y

(2)exec系统调用的形式。

RUN["yum", "install", "httpd", "-y"]

要点:
1.RUN的构建时在基础镜像之上按照由上到下的顺序,以层级的方式进行构建,这有些类似于git的版本控制,一旦某个RUN命令发生错误,docker将会停止构建,并且得到构建失败前最后一次正确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值