天天看点

dockerfile指令 笔记

Dockerfile指令

1、FROM  如果在同一Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)

<code>FROM &lt;image&gt;</code>

<code>或 </code>

<code>FROM &lt;image&gt;:&lt;tag&gt;</code>

2、MAINTAINER  维护者信息

<code>MAINTAINER &lt;name&gt;</code>

3、RUN  执行指定命令

<code>RUN &lt;</code><code>command</code><code>&gt; (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 &lt;port&gt; [&lt;port&gt;...]</code>

<code>&lt;br data-filtered=</code><code>"filtered"</code><code>&gt;</code>

6、ENV  指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持

<code>ENV &lt;key&gt; &lt;value&gt;</code>

7、ADD  复制本地主机的内容到容器目标容器的目录,如果源文件是gzip/bzip2/xz等归档文件,会自动解开并添加到目的地

8、COPY  复制本地主机的内容到容器目标容器的目录

<code>ADD &lt;src&gt; &lt;dest&gt;</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>"&lt;mountpoint&gt;"</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 &lt;Dockerfile关键字&gt;  </code>

<code>ONBUILD 指定的命令在构建镜像时并不执行,而是在它的子镜像中执行。</code>

创建镜像:

docker build [ 选项 ] dockerfile路径

sudo docker build -t centos6-ssh .

笼统的收集了Dockerfile的指令

本文转自 yanconggod 51CTO博客,原文链接:http://blog.51cto.com/yanconggod/1883346