docker工人用自定义的docker文件合成卷

我正在尝试使用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 – 组成起来没有任何问题,但启动后我没有看到任何卷。

 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,所以我同时使用了上面的临时解决scheme。

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