Dockerfile基础分享

时间:2022-02-28 21:18:37

关键字

Dockerfile中以#开头的行全为注释行

FROM <image>:<tag>

指定基础镜像

MAINTAINER <name>

指定维护者信息

RUN <command> 或 RUN ["executable file", "parameter1", ...]

在当前镜像中执行指定命令,执行的结果会被镜像保存

CMD 用法类似于RUN,用于指定Docker容器启动时执行的命令。Dockerfile中只能有一个CMD,并且此CMD命令会被启动

Docker容器时指定的参数覆盖

LABEL <key>=<value> <key>=<value>

为Docker镜像指定meta信息,同时会覆盖基础镜像中的meta信息

EXPOSE <port> <port> ....

指定暴露的端口号

ENV <key>=<value> 或者 ENV <key> <value>

指定镜像的*环境变量*,会被镜像保存下来

ADD <src> <des>

拷贝主机的文件或者目录到镜像中。此命令会**自动解压tar文件**

COPY <src> <des> 和ADD命令类似,但此命令不会自动解压tar文件

ENTRYPOINT <command> 或 ENTRYPOINT ["executable file", "parameter1", ...]

配置容器启动后启动的命令,类似`CMD`,但此命令**不会被启动Docker容器时指定的参数覆盖**

VOLUME ["/data/"]

指定一个可以从主机或者其他容器挂载的**挂载点**

USER username

指定后续操作所用的**用户名**

WORKDIR <dir path>

为后续操作指定工作目录

ONBUILD <command>

指定当此镜像作为基础镜像时指定的命令,会在`FROM`之后执行