【问题标题】:docker-compose volumes with a custom docker file使用自定义 docker 文件 docker-compose 卷
【发布时间】:2016-05-23 21:34:57
【问题描述】:

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

【问题讨论】:

  • Ubuntu 14.04、Docker 1.9.1

标签: django docker docker-compose


【解决方案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

然后运行迁移命令,新生成的数据库迁移命令在源目录中是不存在的。使用 docker-compose exec 会很理想,但我使用的当前版本低于 1.7,因此我同时使用上述临时解决方案。

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

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 2019-01-09
    • 1970-01-01
    • 2019-07-15
    • 2018-01-31
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多