我正在尝试使用docker volume挂载我的代码目录,但无法执行此操作。 这是我的docker-compose文件的相关部分。
web:
build: ./web
dockerfile: Dockerfile
links:
- db:db
- elasticsearch:elasticsearch
volumes:
- ./web:/usr/src/app
web
文件夹中有一个DockerFile,其中包含以下说明。
FROM python:2.7
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
docker-compose up工作没有任何问题,但启动后我没有看到任何卷。
root@test-new:/home/django/test# docker inspect test_web | grep -i volume
"Volumes": null,
"Volumes": null,
如果这是相关的话,请查看我的剩余筹码。
elasticsearch
nginx
postgres db
答案 0 :(得分:1)
以下语法有效。
<强>卷: - $ {PWD} / web:/ usr / src / app
web:
build: ./web
dockerfile: Dockerfile-aside
links:
- db:db
- elasticsearch:elasticsearch
volumes:
- ${PWD}/web:/usr/src/app
env_file: .env
早期迁移未被复制的原因之一是因为我在新容器中运行代码,而不是当前正在运行的容器。
而不是
docker-compose run --rm web /bin/bash
当我尝试
时docker exec -it my_container_name web /bin/bash
然后运行migrate命令,源目录中不存在新生成的数据库迁移命令。使用docker-compose exec是理想的,但我使用的当前版本低于1.7,所以我同时使用上述临时解决方案。