Dockerfile指令
1、FROM 如果在同一Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)
<code>FROM <image></code>
<code>或 </code>
<code>FROM <image>:<tag></code>
2、MAINTAINER 维护者信息
<code>MAINTAINER <name></code>
3、RUN 执行指定命令
<code>RUN <</code><code>command</code><code>> (the </code><code>command</code> <code>is run </code><code>in</code> <code>a shell - `</code><code>/bin/sh</code> <code>-c`) </code>
<code>或</code>
<code>RUN [</code><code>"executable"</code><code>, </code><code>"param1"</code><code>, </code><code>"param2"</code> <code>... ] (</code><code>exec</code> <code>form)</code>
4、CMD:用于指定一个容器启动时要运行的命令,如果指定了多条命令,最有最后一条会被执行
<code>CMD [</code><code>"executable"</code><code>,</code><code>"param1"</code><code>,</code><code>"param2"</code><code>] (like an </code><code>exec</code><code>, this is the preferred form) </code>
<code>CMD </code><code>command</code> <code>param1 param2 (as a shell)</code>
5、EXPOSE 暴露docker容器的端口
<code>EXPOSE <port> [<port>...]</code>
<code><br data-filtered=</code><code>"filtered"</code><code>></code>
6、ENV 指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持
<code>ENV <key> <value></code>
7、ADD 复制本地主机的内容到容器目标容器的目录,如果源文件是gzip/bzip2/xz等归档文件,会自动解开并添加到目的地
8、COPY 复制本地主机的内容到容器目标容器的目录
<code>ADD <src> <dest></code>
9、ENTRYPOINT 每个Dockerfile中只能有一个ENTRYPOINT,当指定多个ENTRYPOINT时,只有最后一个生效
<code>ENTRYPOINT [</code><code>"executable"</code><code>, </code><code>"param1"</code><code>, </code><code>"param2"</code><code>] (like an </code><code>exec</code><code>, the preferred form) </code>
<code>ENTRYPOINT </code><code>command</code> <code>param1 param2 (as a shell)</code>
10、VOLUME 创建一个可以从本地或其他容器挂载的挂载点
<code>VOLUME [</code><code>"<mountpoint>"</code><code>]</code>
11、USER 使用指定用户运行命令
<code># 指定memcached的运行用户 </code>
<code>ENTRYPOINT [</code><code>"memcached"</code><code>] </code>
<code>USER daemon </code>
<code>或 </code>
<code>ENTRYPOINT [</code><code>"memcached"</code><code>, </code><code>"-u"</code><code>, </code><code>"daemon"</code><code>]</code>
12、WORKDIR 切换工作目录
<code>WORKDIR </code><code>/path/to/workdir</code>
13、ONBUILD
<code>ONBUILD <Dockerfile关键字> </code>
<code>ONBUILD 指定的命令在构建镜像时并不执行,而是在它的子镜像中执行。</code>
创建镜像:
docker build [ 选项 ] dockerfile路径
sudo docker build -t centos6-ssh .
笼统的收集了Dockerfile的指令
本文转自 yanconggod 51CTO博客,原文链接:http://blog.51cto.com/yanconggod/1883346