<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Docker on bugwang</title>
    <link>https://bugwang.cn/tags/docker/</link>
    <description>Recent content in Docker on bugwang</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-ch</language>
    <lastBuildDate>Sat, 07 Aug 2021 16:25:53 +0800</lastBuildDate><atom:link href="https://bugwang.cn/tags/docker/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Dockerfile笔记</title>
      <link>https://bugwang.cn/posts/docker%E7%AC%94%E8%AE%B0%E7%BC%96%E5%86%99dockerfile/</link>
      <pubDate>Sat, 07 Aug 2021 16:25:53 +0800</pubDate>
      
      <guid>https://bugwang.cn/posts/docker%E7%AC%94%E8%AE%B0%E7%BC%96%E5%86%99dockerfile/</guid>
      <description>DockerFile指令 Dockerfile指令包括：
Dockerfile 指令 说明 FROM 指定基础镜像，用于后续的指令构建。 MAINTAINER 指定Dockerfile的作者/维护者。（已弃用，推荐使用LABEL指令） LABEL 添加镜像的元数据，使用键值对的形式。 RUN 在构建过程中在镜像中执行命令。 CMD 指定容器创建时的默认命令。（可以被覆盖） ENTRYPOINT 设置容器创建时的主要命令。（不可被覆盖） EXPOSE 声明容器运行时监听的特定网络端口。 ENV 在容器内部设置环境变量。 ADD 将文件、目录或远程URL复制到镜像中。 COPY 将文件或目录复制到镜像中。 VOLUME 为容器创建挂载点或声明卷。 WORKDIR 设置后续指令的工作目录。 USER 指定后续指令的用户上下文。 ARG 定义在构建过程中传递给构建器的变量，可使用 “docker build” 命令设置。 ONBUILD 当该镜像被用作另一个构建过程的基础时，添加触发器。 STOPSIGNAL 设置发送给容器以退出的系统调用信号。 HEALTHCHECK 定义周期性检查容器健康状态的命令。 SHELL 覆盖Docker中默认的shell，用于RUN、CMD和ENTRYPOINT指令。 通过 Dockerfile 中的这些指令，可以构建出一个完整的Docker 镜像。
1 基础指令 1）FROM 格式： FROM &amp;lt;image&amp;gt; FROM &amp;lt;image&amp;gt;:&amp;lt;tag&amp;gt; 解释：FROM是Dockerfile的第一条而且只能是除了首行注释之外的第一条指令。
2）MAINTAINER 格式： MAINTAINER &amp;lt;name&amp;gt; 解释：指定该Dockerfile文件的维护者信息，类似我们在docker commit时候使用-a参数指定的信息。
3）RUN：(构建镜像) 运行命令（安装环境） 解释：执行命令并创建新的镜像层，通常用于安装软件包
格式： RUN &amp;lt;command&amp;gt; (shell 模式) RUN[&amp;#34;executable&amp;#34;, &amp;#34;param1&amp;#34;, &amp;#34;param2&amp;#34;] (exec 模式：注意需要&amp;#34;双引号&amp;#34;) shell模式：RUN echo 1 ——/bin/sh -c &amp;lsquo;1 &#39; 使用 shell 模式时，docker 会以 /bin/sh -c &amp;quot;task command&amp;quot; 的方式执行任务命令。也就是说容器中的 1号进程 不是任务进程而是 bash进程</description>
    </item>
    
  </channel>
</rss>
