.
|-- business_logic
| ....
|
|-- docker-compose.yml
|-- src
| `-- backend
| |-- Dockerfile
| |-- manage.py
| |-- requirements.txt
| `-- webapp
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- utils.py
我希望Docker在运行此撰写文件时将 ./ src / backend / 复制到容器上的 / code / 中:
version: '3'
services:
db:
image: postgres
web:
build:
context: ./src/backend/
command: ls -l .
volumes:
- .:/code/
ports:
- "8000:8000"
depends_on:
- db
将Dockerfile置于后端下:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
我希望文件树或上下文中的Dockerfile位置是相对路径“”。在Dockerfile
中,但好像是“。”指向docker-compose.yml
所在的目录。因为输出如下:
web_1 | drwxr-xr-x 14 root root 448 Jan 2 01:51 business_logic
web_1 | -rw-r--r-- 1 root root 207 Jan 2 03:10 docker-compose.yml
web_1 | drwxr-xr-x 3 root root 96 Jan 2 02:34 src
web_1 | -rw-r--r-- 1 root root 657 Jan 2 01:51 utils.py
如何仅将后端文件夹下的所有内容复制到 code 中?
答案 0 :(得分:2)
在docker-compose中,当您使用卷进行映射时,它正在映射当前目录(与docker-compose.yml并行),但是对于Dockerfile“”。表示相对于您设置的docker-context(./src/backend/)的当前目录。
在准备Docker映像后,创建容器卷时会导致覆盖。
提示-首先使用相同的docker-context,然后相应地调整路径。
尝试关注docker-compose.yml
version: '3'
services:
db:
image: postgres
web:
build:
context: ./src/backend/
command: ls -l .
volumes:
- ./src/backend/:/code/
ports:
- "8000:8000"
depends_on:
- db