docker-使用自定义docker文件撰写卷

时间:2016-05-23 21:34:57

标签: django docker docker-compose

我正在尝试使用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

1 个答案:

答案 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,所以我同时使用上述临时解决方案。

https://github.com/d11wtq/dockerpty/pull/48