Dockerfile指令入门简介
创始人
2024-05-29 13:48:35
0

Dockerfile指令入门简介

    • Dockerfile简介
    • 格式
    • FROM
    • RUN
    • CMD
    • EXPOSE
    • ENV
    • ADD
    • COPY
    • ENTRYPOINT

Dockerfile简介

Dockerfile 是一个包含构建镜像所有命令的文本文件。 使用 docker build 命令,Docker 将读取并执行 Dockerfile 中的指令自动构建镜像。

格式

# Comment
INSTRUCTION args

Docker 顺序执行 Dockerfile 中的指令。Dockerfile 必须以 FROM 指令开始。 FROM 指令指定了构建镜像的基础源镜像。 注释以 # 符号开头。

Dockerfile 指令选项:

  • FROM
  • RUN
  • CMD
  • EXPOSE
  • ENV
  • ADD
  • COPY
  • ENTRYPOINT
  • VOLUME
  • USER
  • WORKDIR
  • ONBUILD

FROM

FROM 

FROM [:]
  • FROM 指令初始化新的构建,并设置基础源镜像。
  • 如果本地指定的镜像,会自动从 Docker 公共库拉取下来。
  • 如果没有指定镜像标签,默认使用 latest 标签。

RUN

两种用法:

  • RUN (shell 形式)
  • RUN [“executable”, “param1”, “param2”](exec 形式)

RUN 指令将在当前镜像之上执行指定命令,并提交为新的镜像。这个提交的镜像会在 Dockerfile 中的下一步被使用。 镜像是分层的,可以通过一个镜像的任何一个历史提交点来创建,类似源码的版本控制。

CMD

三种用法:

  • CMD [“executable”,“param1”,“param2”](exec 形式)
  • CMD [“param1”,“param2”](设置为 ENTRYPOINT 的默认参数)
  • CMD command param1 param2(shell 形式)

Dockerfile 中只能有一个 CMD 指令,如果有多个只有最后一个会生效。

CMD 的主要目的是在启动容器时提供一个默认的命令执行选项。

EXPOSE

EXPOSE  [/...]

EXPOSE 指令告诉 Docker 容器运行时监听的端口。还可以指定监听 TCP 或 UDP,默认为 TCP。还需要在 docker run 时带上 -p 选项映射端口。

ENV

ENV  
ENV = ...

ENV 指令设置环境变量。

ADD

两种用法:

  • ADD [–chown=:] …
  • ADD [–chown=:] [“”,… “”](当路径包含空格时使用)

ADD 指令从 src 复制文件并添加到镜像的文件系统中。

  • 必须是 Dockerfile 所在路径的相对路径
  • 必须是绝对路径

COPY

两种用法:

  • COPY [–chown=:] …
  • COPY [–chown=:] [“”,… “”](当路径包含空格时使用)

COPY 指令从 src 复制文件并添加到镜像的文件系统中。 用法和 ADD相同,唯一的不同是不能指定远程文件 URL。

ENTRYPOINT

两种用法:

  • ENTRYPOINT [“executable”, “param1”, “param2”]()
  • ENTRYPOINT command param1 param2()

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...