docker-使用自定义 docker 文件组成卷
docker-compose volumes with a custom docker file
我正在尝试使用 docker 卷挂载我的代码目录,但无法这样做。
这是我的 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
以下语法有效。
卷:
- ${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
然后运行迁移命令,新生成的数据库迁移命令不存在于源目录中。最好使用docker-compose exec,但是我目前使用的版本低于1.7,所以我同时使用上面的临时解决方案。
我正在尝试使用 docker 卷挂载我的代码目录,但无法这样做。 这是我的 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
以下语法有效。
卷: - ${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
然后运行迁移命令,新生成的数据库迁移命令不存在于源目录中。最好使用docker-compose exec,但是我目前使用的版本低于1.7,所以我同时使用上面的临时解决方案。