django - 使用自定义docker文件组成docker卷

标签 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

最佳答案

以下语法有效。

卷:
-$ {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

关于django - 使用自定义docker文件组成docker卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400957/

相关文章:

docker - SSL 握手不适用于 docker 容器

docker - 为什么在使用Jenkins dockerfile代理时,它使用无效用户运行容器?

Docker 卷文件不可写,以 root 身份写入

docker - 在 docker-compose 应用程序和其他容器之间在 docker swarm 上创建网络

azure - Azure DevOps 中的 Docker 错误,但本地没有?

docker - 在Windows 10 Pro的Docker容器中安装的 Shiny 服务器上运行 Shiny 应用程序?

python - 如何在 Django 项目的上下文中执行任意脚本?

django - 如果使用 cron 执行 SyntaxError,如果手动执行则 OK

javascript - 如何将 HTML Canvas 内容保存到 Google Storage

python - django postgres 条件约束