服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - Dockerfile基础分享

Dockerfile基础分享

2021-01-08 16:52Crazy_Coder 服务器知识

在Docker中,构建一个自定义镜像共有两种方法,一是通过commit指令构建,二是通过Dockerfile文件构建。今天我们主要来详细探讨下Dockerfile的一些基础。

关键字

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`之后执行

延伸 · 阅读

精彩推荐