标签: workdir

WORKDIR 是否创建目录?

这些是 Dockerfile 的前两行:

FROM node:12
WORKDIR /code
Run Code Online (Sandbox Code Playgroud)

这里有一些我不明白的事情:从docker的文档中我知道第二行将工作目录设置为/code。这个过程发生在哪里?当 docker 在创建镜像时运行 Dockerfile 的第二行时,会发生这种情况吗?如果/code不存在,它是由docker创建的吗?/code 将在哪里创建?在图像的根目录中?

image docker dockerfile workdir

12
推荐指数
1
解决办法
7101
查看次数

如何构建一个 docker 镜像,并将其父文件夹作为 workdir?

这可能是一个愚蠢的问题,但我是 Docker 的新手,我正在努力解决这个问题。我有一个包含许多子文件夹的项目,如下例所示:

project-folder:
       folder_1:
           code1.py
           Dockerfile
           requirements.txt
       folder_2:
           code2.py
           Dockerfile
           requirements.txt
       folder_data:
           file1
           file2
           file3
Run Code Online (Sandbox Code Playgroud)

然后,我想这样做:

  1. project-folder维护所有容器的工作目录;
  2. 在每个容器内,我应该能够访问folder_data- 我知道我必须指定一个卷,我只是不知道如何在不保留我的project-folderas workdir 的情况下执行此操作;
  3. 我需要将我的 workdir ( project-folder) 传递给我的 code1.py

注意:只有当我在每个子文件夹中创建图像时,图像才成功创建,如下 Dockerfile:

FROM python:3.6-slim
COPY . /folder_1
WORKDIR /folder_1
RUN pip install -r requirements.txt
CMD ["python3", "code1.py", "$(pwd)"]
Run Code Online (Sandbox Code Playgroud)

图像创建命令:

docker build -t image_folder1 .
Run Code Online (Sandbox Code Playgroud)

我目前正在 的上下文中创建图像folder_1,因为我无法在 的上下文中正确创建图像project-folder

docker dockerfile workdir

1
推荐指数
1
解决办法
6545
查看次数

标签 统计

docker ×2

dockerfile ×2

workdir ×2

image ×1