标签:Docker相关的结果440条:

    Dockerfile参考(3) – 解释器指令escape

      解释器指令是可选的,并影响Dockerfile随后行的处理方式。解释器指令不会添加新层到镜像,也不会显示在构建步骤中。解释器指令的编写格式是一种特定的注释格式#directive=value。一个指令只能用一次。一旦注释,空行或构建器指令已经被处理,Docker不再寻找解析器指令。相反,它将格式化为解析器指令的任何内容视为注释,并且不尝试验证它是否可能是解析器指令。因此,所有解析器指令必须位于Do…

    发布于:2019-11-19 23:45:31

    Dockerfile参考(4) – 使用环境变量

      由EVN指令声明的环境变量也可以用在Dockerfile的一些指令中作为变量使用。转义符也将类似变量的语法转义为语句。在Dockerfile引用环境变量可以使用$variable_name或${variable_name}。它们是等同的,其中大括号的变量是用在没有空格的变量名中的,如${foo}_bar。${variable_name}变量也支持一些标准的bash修饰符,如:${variable:…

    发布于:2019-11-19 23:27:29

    Dockerfile参考(5) – .dockerignore文件

      在dockerCLi发送上下文到dockerdaemon之前,它首先先在上下文的根目录查找名为.dockerignore的文件。如果这个文件存在,CLI则更改上下文来排除与这文件里的模式匹配的文件和目录。这帮助避免了发送不必要的大的或敏感的文件和目录到daemon,以及有可能使用ADD或COPY把不必要的文件添加到镜像。CLI解析.dockerignore为以行为分隔的模式列表,类似于Unixsh…

    发布于:2019-11-19 23:13:21

    Dockerfile参考(6) – FROM和MAINTAINER指令

      FROMFROM<image>或FROM<image>:<tag>或FROM<image>@<digest>FROM指令为随后的指令设置一个BaseImage。因此,一个有效的Dockerfile的第一个指令必须是FROM。镜像可以是任意有效的镜像–这个很容易从公共仓库拉取一个镜像。FROM必须是Dockerfile中的首个非注释指令。F…

    发布于:2019-11-19 23:04:34

    Dockerfile参考(7) – RUN执行命令指令

      RUN指令有两种形式:RUN[shell形式,运行在shell的命令,默认是Linux上的/bin/sh-c或windows的cmd/S/C]RUN[“executable”,“param1”,“param2”][exec形式]RUN指令将在当前镜像层上面的一个新数据层执行命令并提交其结果。这个新提交的镜像层将用于Dockerfile的下一步。分层RUN指令和生成提交符合Docker的核心概念,其…

    发布于:2019-11-19 23:00:57

    Dockerfile参考(8) – CMD设置运行容器时执行的命令

      CMD指令有三种形式:CMD[“executable”,”param1″,”param2″][exec形式,这是首选形式]CMD[“param1″,”param2”][作为ENTRYPIOINT的默认参数]CMDcommandparam1param2[shell形式]Dockerfile只能使用一个CMD指令。如果你使用了多个CMD那么Docker仅使用最后一个。CMD的主要作用是为执行容器提供默…

    发布于:2019-11-19 22:47:18

    Dockerfile参考(9) – LABEL添加元数据到镜像

      格式:LABEL<key>=<value><key>=<value><key>=<value>...LABEL指令添加元数据到一个镜像。一个LABEL是一个键值对。要在LABEL值中包含空格,使用双引号和反斜杠,就像在命令行解析中一样。一些可用的示例:LABEL"com.example.vendor"="ACMEIncorpo…

    发布于:2019-11-19 22:36:36

    Dockerfile参考(10) – EXPOSE暴露端口和ENV设置环境变量

      EXPOSEEXPOSE<port>[<port>...]EXPOSE指令通知Docker,容器运行期间监听指定的网络端口。EXPOSE不会自动使主机的容器端口可访问。要设置监听EXPOSE指定的端口,必须使用-p参数来发布一组端口或-P参数来发布所有EXPOSE的端口。你可以暴露容器的一个端口并在外部发布另一个不同的端口。比如发布容器的80端口到主机的8080端口。ENV…

    发布于:2019-11-19 22:24:23

    Dockerfile参考(11) – ADD COPY添加文件和目录到镜像

      ADD有两种形式:ADD<src>…<dest>ADD[“<src>”,…“<dest>”][这种形式通常用于包含空白字符的路径]ADD指令从<src>复制新的文件,目录或远程文件URLs并添加到镜像文件系统的<dest>路径。可以指定多个<src>资源,这些资源必须是相对于正在构建的源目录(构建的上下文)。每个&…

    发布于:2019-11-19 22:04:35

    Dockerfile参考(12) – ENTRYPOINT配置创建容器后执行的容器命令

      ENTRYPOINT有两种形式:ENTRYPOINT[“executable”,“param1”,“param2”][exec形式,首选]ENTRYPOINTcommandparam1param2[shell形式]ENTRYPOINT指令用来配置创建容器时执行的容器命令。例如,下面的示例将以默认页启动nginx,在80端口监听:dockerrun-i-t--rm-p80:80nginxdocker…

    发布于:2019-11-19 21:45:04

    Dockerfile参考(13) – VOLUME创建数据卷和USER指定容器内运行命令的用户

      VOLUMEVOLUME["/data"]VOLUME指令创建一个指定名称的挂载点,并设置此挂载点为本地主机或其它容器的外部挂载数据卷。VOLUME的值可以是一个JSON数组,如VOLUME[“/var/log/”],或者多个参数的纯字符串,如VOLUME/var/log或VOLUME/var/log/var/db。dockerrun把在base镜像内指定路径已存在的数据复制到这个新创建的数据卷。…

    发布于:2019-11-19 21:41:40

    Dockerfile参考(14) – WORKDIR设置RUN CMD ENTRYPOINT等指令的工作目录

      格式:WORKDIR/path/to/workdirWORKDIR指令设置Dockerfile中的任何RUN,CMD,ENTRYPOINT,COPY和ADD指令的工作目录。如果WORKDIR指定的目录不存在,即使随后的指令没有用到这个目录,都会创建。单个Dockerfile可以使用多次WORKDIR。如果提供一个相对路径,当前的工作目录将与上个WORKDIR指令相关,如:WORKDIR/aWORK…

    发布于:2019-11-19 21:32:12

    Dockerfile参考(15) – ARG指令定义由用户在命令行赋值的变量

      格式:ARG<name>[=<defaultvalue>]ARG指令定义了一个变量,能让用户可以在构建期间使用dockerbuild命令和其参数–build-arg=对这个变量赋值。如果用户指定了一个构建参数没有定义在Dockerfile的话,将输出错误。Oneormorebuild-argswerenotconsumed,failingbuild.Dockerfile作者…

    发布于:2019-11-19 21:17:46

    Dockerfile参考(16) – ONBUILD向镜像添加触发指令

      格式:ONBUILD[INSTRUCTION]ONBUILD指令向镜像添加稍后要执行的触发指令,该触发指令在该镜像作为另一个镜像构建的base镜像时执行。触发指令在另一个镜像构建的Dockerfile的FROM指令后马上执行,就像FROM指令后插入触发指令一样。任何的构建指令都可以注册为触发指令。如果你正在构建的镜像会作为构建其它镜像的base镜像时,ONBUILD会有用,例如一个应用程序的构建环…

    发布于:2019-11-19 20:53:55

    Dockerfile参考(17) – HEALTHCHECK检查容器是否正常工作

      HEALTHCHECK指令有两种形式:HEALTHCHECK[OPTIONS]CMDcommand[通过在容器内运行一个命令来检查容器健康情况]HEALTHCHECKNONE[禁用从base镜像继承的任何healthcheck]HEALTHCHECK指令告诉Docker如何测试一个容器来检查它是否工作正常。这个可以用来检测如webserver陷入了死循环且已经无法处理新的连接了,即使server进…

    发布于:2019-11-19 20:32:33

    Dockerfile参考(18) – SHELL设置执行命令的shell

      格式:SHELL["executable","parameters"]SHELL指令可以覆盖命令的shell模式所使用的默认shell。Linux的默认shell是[“/bin/sh”,“-c”],Windows的是[“cmd”,“/S”,“/C”]。SHELL指令必须以JSON格式编写。SHELL指令在有两个常用的且不太相同的本地shell:cmd和powershell,以及可选的sh的wind…

    发布于:2019-11-19 20:16:19