码迷,mamicode.com
首页 > 其他好文 > 详细

Docker DockerFile文件指令

时间:2019-03-28 21:45:02      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:poi   try   特定   uil   user   注释   默认参数   ble   main   

1.dockerfile指令格式

  1. # Comment注释
  2. INSTRUCTION argument指令名 + 参数

2.普通指令

1. FROM

已存在的镜像,基础镜像,第一条非注释指令

FROM <image>

FROM <image>:<tag>

2. MAINTAINER

镜像作者信息、联系信息
与dockercommit -a类似

MAINTAINER <name>

3. RUN

指定当前镜像中运行的命令

每一个RUN指令都毁在当层镜像的上层创建一个新的镜像

RUN <command> shell模式

默认/bin/sh -c command

RUN ["executable","param1","param2"] exec模式

指定其他shell:
RUN["/bin/bash","-c","echo hello"]

docker 构建过程:
docker build -t="NAME" -t 指定镜像名

4. EXPOSE

指定运行该容器使用的端口

EXPOSE <port>[<port>...]

出于安全考虑,使用中仍需用 -p <port>命令指定

3. CMD ENTERYPOINT 容器运行时运行的命令

1. CMD

CMD ["executable","param1","param2"] exec模式

CMD <command> shell模式

与RUN区别:RUN是在容器构建是运行,CMD是在容器运行时运行。在docker run中指定命令,会覆盖CMD命令,即CMD是默认命令。

CMD ["param1","param2"] 做为ENTRYPOINT指令的默认参数

2. ENTERYPOINT

CMD ["executable","param1","param2"] exec模式

CMD <command> shell模式

与CMD区别:不会被docker run 中运行的命令覆盖。可以使用docker run --entrypoint覆盖。entrypoint可与cmd组合:entrypoint指定命令,cmd指定参数。

4. ADD COPY VOLUME 设置镜像目录及文件

1. ADD

包含类似tar的解压功能,安装tar有所帮助

ADD <src>...<dest>
ADD ["<src>"..."<dest>"]适用于文件路径有空格的情况

2. COPY

使用于纯粹复制文件

COPY <src>...<dest>
COPY ["<src>"..."<dest>"]适用于文件路径有空格的情况

3. VOLUME

VOLUME["/data"]

用于创建的容器添加卷,一个卷可以存在一个或多个容器的特定目录,这个目录可以跨过联合文件系统,并提供如共享数据,对数据持久化功能。

5. WORKDIR ENV USER镜像在构建及容器运行时的环境设置

1. WORKDIR

在容器内部设置工作目录

WORKDIR /path/to/workdir

cmd、entrypoint命令都会在这个目录下执行。
一般使用绝对路径,如果用相对路径会一直传递下去。

2. ENV

设置环境变量,在构建过程中和运行中均有效

ENV <key> <value>
ENV <key>=<value>

3. USER

容器以什么用户运行,不指定默认为root
USER daemon
USER uid:gid
USER user:group

6. ONBULID 类似触发器的指令

ONBULID [INSTRUCTION]
为镜像添加触发器,当一个镜像被用作其他镜像的基础镜像时,触发器被执行,当子镜像被构建时,会插入触发器的指令。ONBUILD指令不会在自己构建时运行。

Docker DockerFile文件指令

标签:poi   try   特定   uil   user   注释   默认参数   ble   main   

原文地址:https://www.cnblogs.com/cjb100/p/10617878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!