Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django docker使用自定义docker文件组合卷_Django_Docker_Docker Compose - Fatal编程技术网

Django docker使用自定义docker文件组合卷

Django docker使用自定义docker文件组合卷,django,docker,docker-compose,Django,Docker,Docker Compose,我正在尝试使用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

我正在尝试使用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
然后运行migrate命令,新生成的数据库迁移命令不在源目录中。最好使用docker compose exec,但我目前使用的版本低于1.7,因此我同时使用上述临时解决方案


Ubuntu 14.04,Docker 1.9.1