- ARG
ARG跟ENV都可以定义变量,不同在于ARG在构建期结束时是销毁,而ENV定义的是系统中的环境变量,不会在构建结束时销毁,在以后的构建中直接使用。
当ARG和ENV定义相同名称的变量时,ENV定义的值会覆盖ARG定义的值。
- WORKDIR
WORKDIR 后面可以跟相对路径和绝对路径,并且可以多次调用。当多个相对路径多次调用时:
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd
会输出:/a/b/c
WORKDIR 可以解析Dockerfile文件中ENV指令定义的路径,当然也可以解析ARG定义的路径,只是需要注意的是不要和环境变量重名,并且需要在同一Dockerfile文件。