必威体育Betway必威体育官网
当前位置:首页 > IT技术

Docker -- dockerFile指令说明

时间:2019-11-01 03:43:21来源:IT技术作者:seo实验室小编阅读:76次「手机版」
 

485007

Dockerfile 是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义镜像


指令集的功能说明

指令 说明
FROM 指定所创建镜像的基础镜像
MaiNTAINER 指定维护者信息
RUN 运行命令
CMD 指定启动容器时默认执行的命令
LABEL 指定生成镜像的元数据标签信息
EXPOSE 声明镜像内服务所监听的端口
ENV 指定环境变量
ADD 赋值指定的< src > 路径下的内容到容器中的<dest>路径下,<src>可以为URL;如果为tar文件,会自动解压到<dest>路径下
COPY 复制本地主机<src>路径下的内容到镜像中的<dest>路径下;一般情况下推荐使用COPY,而不是ADD
ENTRYPOINT 指定镜像的默认入口
VOLUME 创建数据卷挂在点
USER 指定运行容器时的用户名或UID
WORKDIR 配置工作目录
ARG 指定镜像内使用的参数(例如版本号信息等)
ONbuild 配置当前所创建的镜像作为其他镜像的基础镜像时,所执行的创建操作指令
STOPsignal 容器退出的信号值
HEALTHCHECK 如何进行健康检查
SHELL 指定使用shell时默认shell类型

详细介绍

  • FROM

    制定所创建镜像的基础镜像,如果本地不存在,则默认会去Docker Hub下载指定镜像。格式为FROM<image>,或FROM<image>:<tag>,或FROM<image>@<digest>

    注意:任何Dockerfile中的第一条指令必须为FROM指令,并且,如果在同一个Dockerfile中创建多个镜像,可以使用多个FROM指令(每个镜像一次)。

  • MINTAINER

    指定维护者信息,格式为MAINTAINER<name>

    eg:

    MAINTAINER [email protected]

    该信息会写入生成镜像的Author属性域中

  • RUN

    运行指定命令

    格式为RUN<command>RUN ["executable", "param1" , "param2"]。注意 后一个指令会被解析成Json数组。因此必须使用双引号。

    注意: 前者默认将在shell终端中运行命令,即/bin/sh -c;后者则使用exec执行,不会启动shell环境。

  • CMD

    CMD指令用来指定启动容器默认执行的命令。支持如下3种形式

    s

    1. CMD ["executable","param1","param2"]使用exec执行,是推荐使用的。
    2. CMD command param1 param2/bin/sh中执行,提供给需要交互的应用。
    3. CMD ["param1" ,"param2"]提供给ENTRYPOINT的默认参数。

      注意:每个Dodckerfile 只能有一条CMD命令,如果指定了多条命令,只有最后一条会被执行。

  • LABEL

    LABEL 指令用来指定生成镜像的元数据标签信息。

    格式为LABEL <KEY>=<VALUE> .....

    eg:

    LABEL version = "1.0"

    LABEL description = "This text illustrates ...."

  • EXPOSE

    声明镜像内服务所监听的端口。

    格式为EXPOSE <port > [<posrt> ... ]

    eg:

    EXPOSE 22 80 8443

    注意:该指令只能声明作用,并不会自动完成端口映射。

  • ENV

    指定环境变量,在镜像生成过程中会被后续RUN指令使用,在镜像启动的容器中也存在。

    格式为:ENV<key><value>ENV<key> = <value> ...

  • ADD

    该命令将复制指定的<src>路径下的内容到容器中的<dest>路径下。

    格式为:ADD<src> <dest>.

注意:其中Dockerfile所在目录的一个相对路径(文件或目录),也可以是一个URL,还可以是tar文件。支持正则表达式

  • COPY

与ADD相似,推荐使用COPY在操作本地目录为源目录时候。

  • ENTRYPOINT

    指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,所有传入值作为该命令的参数。

    支持两种格式:

    ENTRYPOINT ["executable" , "param1" , "param2"](exec调用执行)

    ENTRYPOINT command param1 param2(shell 执行)。**

    注意:每个Dockerfile只能有一个ENTRYPOINT,当指定多个时候,只有最后一个有效。

  • VOLUME

    创建一个数据卷挂在点。

    格式为:VOLUME ["/data"]

    可以从本地主机或其他容器挂载数据卷,一般用来存放数据库和需要保存的数据等。

  • WORKDIR

    为后续RUN,CMD和ENTRYPOINT指令配置工作目录。

    格式为:WORKDIR /path/to/workdir

  • STOPSIGNAL

    指定所创建的镜像启动的容器接受退出的信号值。

    STOPSIGNAL signal

文章最后发布于: 2017-10-04 12:50:48

相关阅读

WinKawaks详尽使用说明

WinKawaks详尽使用说明 作者:飞雪 这篇文章是飞雪大人的作品,本来想自己写一篇来着。但想想自己怎么也不如飞雪写得好,不如把原文转

阴阳师为崽而战应援对决阶段玩法说明 为崽而战第二期

阴阳师为崽而战第二期应援对决阶段玩法说明,阴阳师第二期为崽而战应援对决阶段玩法说明带给大家,作为快速获得积分和勋章的阶段,看看

函数 fprintf() 使用说明

描述:c/c++中一个格式化写-库函数功能:传送格式化输出到一个流/文件中与打印机输出头文件:#include <stdio.h>函数原型:int fprintf(

Docker学习笔记(五)-fixbug2-Hash sum mismatch

build第一个docker实例docker-whale问题的办法 详细的build步骤,可以参考本人的博客 Docker学习笔记(三)- Dockerfile创建本地镜

Typora 使用说明

Typora是一款超简洁的markdown编辑器,具有如下特点:完全免费,目前已支持中文跨平台,支持windows,mac,linux支持数学公式输入,图片插入

分享到:

栏目导航

推荐阅读

热门阅读