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