共计 1306 个字符,预计需要花费 4 分钟才能阅读完成。
FROM
FROM <image>:<tag>
from 参数执行制作镜像所使用的基础镜像
MAINTAINER
该镜像的制作者作者
RUN
在 shell 或者 exec 的环境下执行的命令
ADD
复制文件指令。它有两个参数 <source> 和 <destination>。destination 是容器内的路径。source 可以是 URL 或者是启动配置上下文中的一个文件。
ADD nginx-1.8.0.tar.gz /usr/local/src
CMD
提供了容器默认的执行命令。Dockerfile 只允许使用一次 CMD 指令。使用多个 CMD 会抵消之前所有的指令,只有最后一个指令生效。CMD 有三种形式:
CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD command param1 param2
EXPOSE
指定容器在运行时监听的端口。语法如下:
EXPOSE <port>
ENTRYPOINT
配置给容器一个可执行的命令,这意味着在每次使用镜像创建容器时一个特定的应用程序可以被设置为默认程序。同时也意味着该镜像每次被调用时仅能运行指定的应用。类似于 CMD,Docker 只允许一个 ENTRYPOINT,多个 ENTRYPOINT 会抵消之前所有的指令,只执行最后的 ENTRYPOINT 指令。语法如下:
ENTRYPOINT ["executable", "param1","param2"]
ENTRYPOINT command param1 param2
WORKDIR
指定 RUN
、CMD 与 ENTRYPOINT 命令的工作目录。语法如下:
WORKDIR /path/to/workdir
ENV
设置环境变量。它们使用键值对,增加运行程序的灵活性。语法如下:
ENV <key> <value>
USER
镜像正在运行时设置一个 UID。语法如下:
USER <uid>
VOLUME
授权访问从容器内到主机上的目录。语法如下:
VOLUME ["/data"]