我有这样的项目结构
proj
|
|----------tests
| |-----integration
| |------------docker-compose.yml
|---------Dockerfile
|
|---------requirements.txt
|
|---------setup.py
Dockerfile
是
...
RUN pip install -r requirements.txt
...
docker-compose.yml
文件是
version: "3.4"
services:
proj-test:
build:
context: ..
network: host
dockerfile: ../Dockerfile
depends_on:
- postgres_db
environment:
PG_UNITTEST_DB: "postgresql://testuser:testpassword@postgres_db/testdb"
postgres_db:
image: postgis/postgis
expose:
- "5432"
environment:
POSTGRES_PASSWORD: testpassword
POSTGRES_USER: testuser
POSTGRES_DB: testdb
我使用这个命令构建 docker compose
$proj docker-compose -f tests/integration/docker-compose.yml build
这会导致错误
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
因为它正在 'requirements.txt'
文件夹中寻找 tests
。我应该如何告诉它查看根?使用 docker volume 可以实现吗?我在处理 docker 卷方面没有太多经验。
答案 0 :(得分:0)
在您的 Dockerfile 中,您应该先复制 requirements.txt
文件,然后运行安装要求。
COPY requirements.txt .
RUN pip install -r requirements.txt