Dockerfile 常用命令

1. ADD 复制文件, 格式如下

  •  ADD <src> ... <dest>
  • ADD  ["<src>", ... "<dest>"]

    表示从src目录复制文件到容器的dest

2. ARG 设置构建参数, ARG指令用于设置构建参数,类似于ENV。和ARG不同的是,ARG设置的是构建时的环境变量,在容器运        行时是不会存在这些变量

    示例:ARG user1=someuser

3. CMD 容器启动命令

     CMD 指令用于为执行容器提供默认值。每个 Dockerfile 只有一个CMD命令,如果指定了多个CMD命令,那么只有最后一个        会 被执行,如果启动容器时指定了运行的命令,则会覆盖掉CMD指定的命令。

  • CMD ["executable", "param1", "param2"] (推荐使用)
  • CMD ["param1", "param2"] (为ENTRYPOINT指令提供预设参数)
  • CMD command param1 param2 (在shell中执行)

4. COPY 复制文件

  •  ADD <src> ... <dest>
  • ADD  ["<src>", ... "<dest>"]

    表示从src目录复制文件到容器的dest

5. ENTRYPOINT 入口点

  • ENTRYPOINT ["executable", "param1", "param2"] (推荐使用)
  • ENTRYPOINT command param1 param2 (在shell中执行)

    ENTRYPOINT 和 CMD 指令的目的一样,都是指定Docker容器启动时执行的命令,可多次设置,但只有最后一个有效.

 6. ENV 设置环境变量

  • ENV <key> <value>
  • ENV <key>=<value>...

    示例: JAVA_HOME /path/to/java

7. EXPOSE 声明暴露的端口

    # 声明暴露一个端口示例

  • EXPOSE port1

    # 相应的运行容器使用的命令

  • docker run -p port1 image 

    # 也可以使用 -P 启动 

  • docker run -P image

    # 也可是声明暴露多个端口

  • EXPOSE port1 port2 port3 

    # 相应的运行容器使用的命令

  • docker run -p port1 -p prot2 -p port3 image 

    # 也可以指定需要映射到宿主机上的端口号

  • docker rum -p host_port1:port -p host_port2:port2 -p host_port3:port3 image 

8. FROM 指定基础镜像 

    FROM指令必须指定,且需要写在其他指令的前面。FROM指令后的所有指令都依赖与该指令所指向的镜像

    示例:

  • FROM <image>
  • FROM <image>:<tag>
  • FROM <image>@<digest>

 9. LABEL 为镜像添加元数据

     LABEL 指令用于为镜像添加元数据

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

10. MAINTAINER 指定维护者的信息

      MAINTAINER 指令用于指定维护者信息,用于为 Dockerfile 署名

      示例:

  • MAINTAINER  周元<ascd@163.com>

11. RUN  执行命令 

      该指令支持两周格式

  • RUN <command>
  • RUN ["executable", "param1", "param2"]

    run <command>  在shell终端中运行,在Linux中默认是/bin/sh -c,在Windows 中是cmd /s /c, 使用这种格式,就像直接在命令行中输入命令一样。

    run ["executable", "param1", "param2"] 使用 exec 执行, 这种方式类似于函数调用。指定其他终端可以通过该方式操作,例如:run ["/bin/bash", "-c", -"echo hello"], 该方式必须使用双引号, 而不能使用单引号,因为该方式会被转化成一个JSON数组。

12. USER 设置用户

      该指令用于设置启动镜像时的用户或者UUID, 写在该指令后的RUN, CMD以及ENTRYPOINT 指令都能将使用该用户执行命令

      格式为:

  • user 用户名

13. VOLUME 指定挂载点 

      该指令使容器的一个目录具有持久化存储的功能,该目录可被容器本身使用,也可共享给其他容器。当容器中的应用有持久化数据的需求时可以在Dockerfile中使用该指令。

       示例:

  • VOLUME /data

14. WORKDIR 指定工作目录

       切换目录指令,类似于 cd 命令

       示例:

  • WORKDIR /path/to/workdir 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值