Dockerfile 和 Docker 镜像
Dockerfile 是包含构建 Docker 镜像指令的文本文档。这些镜像由只读层组成,每个层对应一条 Dockerfile 指令。Docker 可以通过解释这些指令自动创建镜像。以下命令用于从 Dockerfile 构建镜像:
docker build -f <dockerfile_path>
Dockerfile 说明
1. 来自
该FROM指令初始化新的构建阶段并为后续指令设置基础映像。有效的 Dockerfile 必须以指令开头FROM。基础映像可以是任何有效映像。
句法:
FROM <Image_name>:<Image_tag>
2. 标签
该LABEL指令为图像添加元数据,帮助按项目组织图像或记录许可信息。每个标签都定义为键值对。
例子:
LABEL com.example.version="0.0.1-beta"
LABEL vendor1="ACME Incorporated"
3. 跑步
该RUN指令在当前镜像之上的新层中执行命令并提交结果。生成的镜像将作为下一步的基础。
例子:
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y curl
4. 命令
指令CMD指定在容器中运行的默认命令。CMD每个 Dockerfile 只允许一个指令;最后一个指令CMD将覆盖所有先前的指令。
句法:
CMD ["executable", "param1", "param2"]
5. 曝光
该EXPOSE指令指定容器监听连接的端口。
句法:
EXPOSE <port>
6. 环境
该ENV指令为容器设置环境变量。它还可以更新PATH变量以使软件更易于运行。
例子:
ENV PATH /usr/local/nginx/bin:$PATH
7. 添加
该ADD指令将文件、目录或远程 URL 从源复制到图像内的指定目标。
例子:
ADD hom* /mydir/ # Adds all files starting with “hom”
8. 音量
该VOLUME指令指定应在容器外部持久保存的存储区域,例如数据库文件或配置存储。
9. 工作目录
该指令为后续的、和指令WORKDIR设置工作目录。RUNCMDADD

