Dockerfile用于构建Docker镜像,Dockerfile文件是由一行行命令语句组成,基于这些命令即可构建一个镜像。
Dockerfile的基本结构
一般的,Dockerfile分为四部分:
基础镜像信息;
维护者信息(可不写);
镜像操作指令;
容器启动时执行指令;
Dockerfile指令
FROM
格式为
FROM <image> 或 <image><tag>
Dockerfile文件的第一条命令必须为FROM指令。并且,如果再同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)
MAINTAINER
格式为
MAINTAINER<name>
指定维护者信息
ENV
格式为
ENV <key><value>
指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持
ADD
格式为
ADD<src><dest>
复制指定的<src>
到容器中的<dest>
EXPOSE
格式为
EXPOSE<port>[<port>...]
告诉Docker服务器端容器暴露的端口号,供互联系统使用,在启动容器时需要通过-p
映射端口,Docker主机会自动分配一个端口转发到指定的端口;
RUN
格式为
RUN<command>
RUN
指令将在当前镜像基础上执行指定命令,并提交为新的镜像,当命令较长时可以使用\
来换行;
CMD
指定启动容器时执行的命令,每个Dockerfile只能有一条CMD命令。如果指定了多条命令,只有最后一条会被执行。
如果用户启动容器时指定了运行的命令,则会覆盖掉CMD指定的命令。
网友评论