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。