# 使用 .dockerignore 文件
可以通过 .dockerignore 文件来让Docker忽略匹配路径或文件,在创建镜像时不将无关数据发送到服务器。
比如:
*/temp *
*/*/temp *
tmp?
~*
Dockerfile
!README.md
- *: 表示任意多个字符;
- ?: 表示单个字符;
- !: 表示不匹配,即不忽略指定的路径或文件;
指令 | 格式 | 实例 | 说明 |
---|---|---|---|
ARG | ARG <name>[=<default value>] | ARG VERSION=9.3 | 定义创建镜像过程中使用的变量 |
FROM | 1.FROM <image> [AS <name>] 2.FROM <image>:<tag> [AS <name>] 3.FROM <image>@<digest> [AS <name>] | FROM debian:${VERSION} | 指定所创建镜像的基础镜像 |
LABEL | LABEL <key1>=<value1> <key2>=<value2> | LABEL version="1.0.0-rc3" | 为生成的镜像添加元数据标签信息 |
EXPOSE | EXPOSE <port> [<port>/<protocol>] | EXPOSE 22 808443 | 声明镜像内服务监听的端口 |
ENV | 1.ENV <key> <value> 2.ENV <key>=<value> | ENV APP_HOMT=/usr/local/app | 指定环境变量 |
ENTRYPOINT | 1.ENTRYPOINT ["executable", "param1", "param2"] 2.ENTRYPOINT command param1 param2 | -- | 指定镜像的默认入口命令 |
VOLUME | VOLUME ["/data"] | -- | 创建一个数据卷挂载点 |
USER | USER daemon | -- | 指定运行容器时的用户名或UID |
WORKDIR | WORKDIR /path/to/workdir | -- | 配置工作目录 |
ONBUILD | ONBUILD [INSTRUCTION] | ONBUILD ADD . /app/src | 创建子镜像时指定自动执行的操作命令 |
STOPSIGNAL | STOPSIGNAL signal | -- | 指定退出的信号值 |
HEALTHCHECK | 1.HEALTHCHECK [OPTIONS] CMD command 2.HEALTHCHECK NONE | 配置所启动容器如何进行健康检查 | |
SHELL | SHELL ["executable", "param1"] | SHELL ["/bin/sh", "-c"] | 指定默认的 shell 类型 |
RUN | 1.RUN <command> 2.RUN ["executable", "param1","param2"] | RUN ["/bin/bash","-c","echo hello"] | 运行指定命令 |
CMD | 1.CMD ["executable", "param1","param2"] 2.CMD command param1 param2 3.CMD ["param1","param2"] | 启动容器时指定默认执行的命令 | |
ADD | ADD <src> <dest> | ADD *.c /code/ | 将src目录下的内容添加到容器中的dest目录下 |
COPY | COPY <src> <dest> | 复制内容到镜像 |