我正在尝试使用 docker 容器构建基于 Flask 和 vue.js 的 Web 应用程序。 我在 docker-compose 中使用卷共享,但我面临着容器结构的问题。 我想与 /app 容器文件夹共享来自主机的应用程序文件夹。为此,docker-compose 设置为
volumes:
- type: bind
source: ./
target: /app
检查容器显示来自主机的数据放置在文件夹 /app/app 中,而不是按预期放置在文件夹 /app 中。工作目录设置在docker容器内:
FROM continuumio/miniconda3:latest
WORKDIR /app
COPY dependency.yml .
RUN conda env create -f dependency.yml
COPY setup.py .
RUN pip install -e .
为了尝试理解相对/绝对路径,我尝试将 docker-compose 文件中的目标卷更改为 /data。在这种情况下,应用程序文件安装在 /app 中,而主机文件按预期复制到 /data 文件夹中。
问题 是:为什么如果我尝试使用容器中的绝对 /app 文件夹,系统是否将它用作相对于 WORKDIR 的文件夹,并且仅当 WORKDIR 具有相同名称时才会发生这种情况作为目标文件夹?