• Dockerfile指令


    Dockerfile 全部指令及描述如下表:

    指令 描述 语法
    ARG 创建镜像过程中使用的变量,执行 docker build 时通过 build-arg 来为变量赋值,镜像编译成功后 ARG 指定变量就不存在 ARG[=]
    FROM 所创建镜像的基础镜像,Dockerfile 的第一条指令必须是 FROM FROM[AS ] 或者 FROM:[AS] 或者 FROM@[AS]
    LABEL 所创建镜像的元数据标签,元数据标签可以辅助过滤出特定的镜像 LABEL==…
    EXPOSE 镜像内部所监听的端口,EXPOSE 指令只起到声明作用,不会自动映射端口 EXPOSE [/…]
    ENV 环境变量,在镜像生成的过程中会被 RUN 指令使用,而且在镜像启动过程中也会存在 ENV=…
    ENTRYPOINT 镜像默认入口命令,会在启动容器时作为根命令执行,Dockerfile 只能有一个 ENTRYPOINT 指令 如果需要利用 exec 执行则这样编写 ENTRYPOINT[“executable”,“param1”,“param2”],如果需要在 shell 中执行,则需要这样编写 ENTRYPOINT command param11 param2
    VOLUME 挂载数据卷 VOLUME["/data"]
    USER 容器运行时的用户名或ID USER daemon
    WORKDIR 工作目录 WORKDIR /path/to/workdir
    ONBUILD 创建子镜像时自动执行的操作指令 ONBUILD[INSTRUCTION]
    STOPSIGNAL 容器退出信号 STOPSIGNAL signal
    HEALTHCHECK 容器检查健康的方式 HEALTHCHECK[OPTIONS]CMD command
    SHELL 指定shell类型 SHELL [“executable”,“parameters”]
    RUN 运行指令 RUN
    CMD 容器启动时执行的命令 CMD[“executable”,“param1”,“param2”]
    ADD 添加内容到镜像 ADD
    COPY 复制内容到镜像 COPY

    二、创建镜像

    编写 Dockerfile 文件之后,可以通过 docker [image] build 命令来创建镜像,语法命令如下:

    docker build [OPTIONS] path | url | -
    

    执行该命令后,docker 将会读取指定目录及其子目录下的 Dockerfile 文件,并将指定目录下所有数据作为上下文发送给 Docker 服务。Docker 服务在校验完 Dockerfile 文件格式后,将逐条执行文件中的命令,遇到 ADD、COPY、RUN 命令将会生成一层镜像。所有命令执行成功后,Docker 会返回镜像的唯一ID。

    小提示1:
    我们只需要将创建镜像所需要的文件放入 Dockerfile 中,不要将其他无关文件放入,因为上下文过大会导致创建镜像速度放缓,甚至失败。

    小提示2:
    如果使用的 Dockerfile 文件不再上下文路径中,可以使用 -f 参数来指定 Dockerfile 文件的路径。

    小提示3:
    如果要指定镜像标签,可以使用 -t 参数。

    扩展:
    更多 docker build 命令参数可查阅 docker 官网

  • 相关阅读:
    WCF – System.ServiceModel.FaultException
    SSB – Connection handshake failed
    JQuery语法总结和注意事项
    删除指定目录及其子目录和文件
    Windows 7中还不能通过“HyperV管理器”连接HyperV Server 2008 R2服务器解决
    tomcat虚拟目录映射网络共享目录的问题
    Creating a Virtual Directory with a UNC Path (IIS 6.0)
    百度地图api根据地区名称反查其经纬度的实例
    远程管理server core上的hyperv
    ios5中使用Reachability的问题
  • 原文地址:https://www.cnblogs.com/gangzhucoll/p/12778164.html
Copyright © 2020-2023  润新知