首页 > 解决方案 > Dockerfile 的 WORKDIR 是否根据主机或容器指定工作目录?

问题描述

我正在按照有关 Dockerizing 节点文件的说明 https://docs.docker.com/language/nodejs/build-images/ 遵循以下定义:https ://docs.docker.com/engine/reference/builder/#工作目录

WORKDIR指令为 Dockerfile 中任何 RUN、CMD、ENTRYPOINT、COPY 和 ADD 指令设置工作目录。如果WORKDIR不存在,即使它没有在任何后续的 Dockerfile 指令中使用,它也会被创建。

在教程中我看到WORKDIR=/usr/src/app.

我需要创建WORKDIR与主机相同的目录吗?例如WORKDIR=/home/my-username/my-node-project?或者这是否在我的容器中指定了一个任意工作目录?

所以我可以声明WORKDIR=/usr/hello-there,然后创建一个包含/usr/hello-there/目录的文件结构的容器?

标签: docker

解决方案


工作目录

它是容器镜像中的一个目录,可以使用 Dockerfile 中的 WORKDIR 指令进行设置。它是可选的(默认为 /,但基本映像可能已设置它),但被认为是一种好的做法。Dockerfile 中的后续指令,如 RUN、CMD 和 ENTRYPOINT 将在此目录中运行。至于 COPY 和 ADD,他们同时使用...


推荐阅读