docker - 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/
目录的文件结构的容器?
解决方案
工作目录
它是容器镜像中的一个目录,可以使用 Dockerfile 中的 WORKDIR 指令进行设置。它是可选的(默认为 /,但基本映像可能已设置它),但被认为是一种好的做法。Dockerfile 中的后续指令,如 RUN、CMD 和 ENTRYPOINT 将在此目录中运行。至于 COPY 和 ADD,他们同时使用...
推荐阅读
- python - Python:调用 self 函数无法正常工作
- javascript - 如何从 JSON 值中选择数据
- fortran - 时间相关薛定谔方程酷儿解
- excel - 无法从 Excel2016 用户表单连接到存储在同一位置的 Access2016 文件
- mysql - mycli - 不能不显示 unicode 消息
- javascript - 为用户名验证创建正则表达式
- r - 如何通过在 R 或 MATLAB 中一次添加每个点来动画 3D 散点图
- terminal - 不小心删除了 var/lib 中的一些文件
- python - python是否有时会关闭自动打开的文件
- python - KeyError: '标签 [False] 不在 [index] 中'