dockerfile指令workdir指定目录不存在,构建过程自动创建
WORKDIR
WORKDIR 指定的目录如果不存在,Docker 在构建镜像时会自动创建。
具体来说:
在
Dockerfile里写WORKDIR /app- 如果
/app不存在,构建时会自动mkdir -p /app。 - 如果目录已存在,就直接切换过去。
- 如果
如果你连续多次使用
WORKDIR,路径是相对叠加的:
1 | WORKDIR /app |
自动创建的目录权限取决于当前镜像构建时的 **
USER**:- 默认是
root,那目录就是root:root。 - 如果之前切换过
USER,就按那个用户的权限创建。
- 默认是
💡 小提醒:
WORKDIR的自动创建只发生在 镜像构建阶段,如果是在容器运行时去cd一个不存在的目录,那就要自己提前建好。