-
.dockerignore文件
-
dockerfile文件格式
- dockerfile常用指令
-
.dockerignore 忽略文件夹# comment注释 */temp* 忽略以temp开头的二级目录 */*/temp* 忽略以temp开头的任意层级子目录 temp? 忽略以temp开头的当前目录中目录
-
dockerfile文件格式
#Comment注释 INSTRUCTION argument指令 参数
-
FROM 第一条非注释指令,指定基础镜像
FROM <image> FROM <image>:<tag>
-
MAINTAINER 指定镜像作者信息(姓名、联系),类似于git -m
-
RUN 指定构建镜像时当前镜像层运行的命令,每次RUN都会在当前镜像层基础上创建一个新镜像层作为下一层
1.shell模式 RUN <command>,如 RUN echo "hello" 2.exec模式 RUN ["executable", "param1", "param2"], 如 RUN ["bin/bash", "echo", "hello"]
-
EXPOSE 指定镜像对外暴露的端口,也可以在docker命令行运行镜像时通过-p参数暴露端口
EXPOSE <port>
-
CMD 提供容器运行的默认行为命令,或者提供 ENTRYPOINT 指令运行的默认参数,可被docker命令行参数-g覆盖
1.shell模式 2.exec模式 3.CMD ["param1", "param2"]
-
ENTRYPOINT 同CMD,但是不会被docker命令行参数-g覆盖
-
ADD 复制文件,包含类似tar的解压缩功能;文件可以是本地或远程的,源路径需为dockerfile相对路径,目标路径须为绝对路径
ADD src dst ADD ["src", "dst"]
-
COPY 单纯复制文件
用法同ADD
-
VOLUME 向容器添加卷,一个卷可以是存在一个或多个容器的特定目录(联合文件系统),用于共享数据或数据持久化
VOLUME ["/data"]
-
WORKDIR 在容器内部设置指令的工作目录
WORKDIR /path/to/workdir
-
ENV 设置环境变量,构建过程与运行过程都有效
ENV <key> <value> ENV <key>=<value>
-
USER 指定镜像以什么用户运行,默认root用户
USER user USER uid USER user:group USER uid:gid USER user:gid USER uid:group
-
ONBUILD 为镜像添加触发器,当一个镜像被用作其他镜像的基础镜像时会被执行,会在子镜像被构建时插入指令
给镜像A指定ONBUILD后,若镜像B以A为基础镜像,则在B构建时A中ONBUILD行会执行
-