Dockerfile命令说明

本文详细介绍了Dockerfile中的关键指令,包括FROM、MAINTAINER、RUN等,并解释了它们的功能及用法,有助于理解如何构建Docker镜像。

FROM
      指定创建镜像的基础镜像
      任何Dockerfile中的第一条非注释指令必须为FROM指令,可以有多个FROM指令创建多个镜像(每个镜像一次)

MAINTAINER
      指定镜像制作者信息

RUN
      运行执行命令
      格式:
          RUN<command> 使用shell终端运行
          RUN ["executable", "param1", "param2"] 解析为json数组并使用exec运行,不会启动shell环境

CMD
      指定容器启动时默认执行的命令
      每个Dockerfile只能有一条CMD命令,如果指定多条,只有最后一条会被执行
      用于启动容器手动指定了运行命令,会覆盖Dockerfile中CMD指定的命令
      格式:
          CMD ["executable", "param1", "param2"] exec执行(推荐)
          CMD command param1 param2 shell中执行
          CMD ["param1", "param2"] 提供给ENTRYPOINT的默认参数

LABEL
      用于指定生成镜像的元数据标签信息
      格式:LABEL <key>=<value> ...

EXPOSE
      声明容器内服务监听端口

ENV
      为docker容器设置环境变量
      可使用docker inspect命令查看,同时可使用docker run --env <key>=<value>修改环境变量

ADD
      将源<src>路径下的内容复制到容器中<dest>路径下
      <src>可以是Dockerfile所在目录的相对路径,也可以是url,还可以是tar文件(tar文件会自动解压到<dest>路径下)
      <dest>可以是镜像内的绝对路径,或者相对于工作目录(WORKDIR)的相对路径

COPY
      将源<src>路径下的内容复制到容器中<dest>路径下(使用本地目录作为源目录,推荐使用COPY)


ENTRYPOINT
      指定镜像的默认入口命令
      只能有一个ENTRYPOINT命令,有多个只有最后一个有效
      运行是可以被-- entrypoint参数覆盖掉
      格式:
          ENTRYPOINT ["executable", "param1", "param2"] exec执行
          ENTRYPOINT command param1 param2 shell中执行

VOLUME
      创建数据卷挂载点

USER
      指定容器运行用户

WORKDIR
      为后续的RUN、CMD和ENTRYPOINT指令配置工作目录

ARG
      指定镜像内使用的参数

ONBUILD
      配置作为其他镜像的基础镜像时需要执行的创建操作指令

转载于:https://my.oschina.net/LaravelShao/blog/1795697

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值