Dockerfile
构建镜像时,该过程的第一件事是将 Dockerfile 文件所在目录下的所有内容递归的发送到守护进程。所以在大多数情况下,最好是创建一个新的目录,在其中保存 Dockerfile,并在其中添加构建 Dockerfile 所需的文件。
- 使用 FROM 指令指定一个基础镜像,后续指令将在此镜像的基础上运行:
FROM ubuntu:14.04
- 使用 FROM 指令指定一个基础镜像,后续指令将在此镜像的基础上运行:
FROM ubuntu:14.04
- 除了指定用户之外,还可以使用 WORKDIR 指定工作目录,对于 RUN,CMD,COPY,ADD 指令将会在指定的工作目录中去执行。也可以理解为命令执行时的当前目录。
WORKDIR /
-
RUN 指令用于执行命令
RUN 指令用于执行命令
-
在一个 Dockerfile 文件中只能有一个 CMD 指令(如果有多个 CMD 指令,则只有最后一个会生效)该指令为我们运行容器时提供默认的命令
在一个 Dockerfile 文件中只能有一个 CMD 指令,如果有多个 CMD 指令,则只有最后一个会生效。该指令为我们运行容器时提供默认的命令
-
在一个 Dockerfile 文件中只能有一个 CMD 指令,如果有多个 CMD 指令,则只有最后一个会生效。该指令为我们运行容器时提供默认的命令
FROM ubuntu:latest ENTRYPOINT ["ls", "-a"] CMD ["-l"]
-
COPY 和 ADD 都用于将文件,目录等复制到镜像中。
ADD <src>... <dest>
ADD ["<SRC>",... "<dest>"]
COPY <src>... <dest>
COPY ["<src>",... "<dest>"]
- ENV 指令用于设置环境变量:
ENV <key> <value>
ENV <key>=<value> <key>=<value>...
- VOLUME 指令将会创建指定的挂载目录,在容器运行时,将创建相应的匿名卷:
VOLUME /data1 /data2
- EXPOSE 指定在容器运行时监听指定的网络端口
EXPOSE port