Dockerfile常用指令

官方文档 https://docs.docker.com/engine/reference/builder/

Dcokerfile是一个文本文档,包含自动构建镜像的指令集合

  1. 构建镜像

    1
    docker build -t name:version -f Dockerfile .

    -t : 定义tag, 名称:版本

    -f: 指定Dockerfile名称, 默认就是Dockerfile,一般省略

    . : 最后的点是构建过程上下文路径,相对路径或者绝对路径都可以

  2. Dockerfile常用指令
    FROM: 指定当前dockerfile的基础镜像

    FROM [–platform=] [AS ]

    按照指定的镜像初始化一个构建环境,Dockerfile文件的第一个指令

    –platform指定一个平台,一般不需要指定

    AS 指定当前构建过程的别名

    COPY : 复制文件到容器

    COPY语法和cp很像,但是要注意一点, COPY 会把第一个参数指定的一个文件夹的内容复制到第二个参数指定的文件夹,文件夹复制要注意

    ARG: 获取命令行参数

    可以使用docker build –build-arg = 传递给Dockerfile,比如下面的Dockerfile

    1
    2
    3
    4
    # docker build --build-arg user1=isme --build-arg buildno=version1
    FROM busybox
    ARG user1
    ARG buildno

    RUN: 在容器执行命令

    1
    RUN cd /root && apt-get update && apt-get install gcc

    ENV: 环境变量,也可以通过docker run -e envName=value 设置

    1
    2
    3
    4
    # docker run -e MY_NAME=test -e MY_DOG=test2 -e MY_CAT=test3
    ENV MY_NAME="John Doe"
    ENV MY_DOG=Rex\ The\ Dog
    ENV MY_CAT=fluffy