Docker-compose找不到.env文件

我有3个容器postgresql,Nginx和Django。 最后两个有自己的Dockerfile,我用docker-compose运行整个系统。 我有多个问题:

  1. 我无法运行我的自定义nginx容器,命名为nginx与生成build: ./nginx/ nginx build: ./nginx/ 。 只有image: nginx 。 是的,我尝试在线程中build议docker-compose build

  2. 奇怪的行为与卷,我提到了一个: - ./web:/code和没有工作,我评论它,但现在Django说:


       /usr/local/lib/python3.5/site-packages/environ/environ.py:609:UserWarning:/code/translation_microservice/.env不存在 - 如果您没有单独configuration您的环境,请创build一个。
       “分开的环境,创造一个”。  %env_file)
    回溯(最近一次通话最后):
      文件“manage.py”,第22行,在 
         execute_from_command_line(sys.argv中)
      文件“/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py”,第363行,在execute_from_command_line
         utility.execute()
      在执行文件“/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py”,第337行
         django.setup()
      在设置文件“/usr/local/lib/python3.5/site-packages/django/__init__.py”,第27行
         apps.populate(settings.INSTALLED_APPS)
      文件“/usr/local/lib/python3.5/site-packages/django/apps/registry.py”,第108行,填充
         app_config.import_models()
      在import_models中的文件“/usr/local/lib/python3.5/site-packages/django/apps/config.py”,第202行
         self.models_module = import_module(models_module_name)
      在import_module中的文件“/usr/local/lib/python3.5/importlib/__init__.py”,第126行
        返回_bootstrap._gcd_import(名称[级别:],包,级别)
      文件“”,行986,在_gcd_import
      文件“”,行969,在_find_and_load
      文件“”,行958,在_find_and_load_unlocked
      文件“”,行673,在_load_unlocked
      在exec_module中的文件“”,第673行
      文件“”,第222行,在_call_with_frames_removed
      文件“/code/api_controller/models.py”,第8行, 
        从web.translation导入TranslatedLesson,TranslatedStep
     ImportError:没有名为“web”的模块

我的文件树:

 。
 ├──docker-compose.yml
 ├──nginx
 │├──Dockerfile
 │└──nginx.conf
 ├──__pycache__
 ├──README.md
 ├──venv
 │├──斌
 │├──包括
 │├──lib
 │└──pip-selfcheck.json
 └──网页
     ├──.env
     ├──Dockerfile
     ├──manage.py
     ├──requirements.txt
     └──翻译

我的docker – 撰写文件:

版本:'3'

服务:
  现场:
    build立:./web
     env_file:./web/.env
     #想要做到这一点
     #volumes:
     # -  ./web:/code
    命令:python manage.py runserver 0.0.0.0:8000

  代理:
     #想要build立:./nginx/
     image:nginx
    端口:
       - “80:80”
       - “443:443”
    卷:
       -  / www /静态

   Postgres的:
    重新启动:总是
    图片:postgres:最新
    端口:
       - “5432:5432”
    卷:
       -  / var / lib / postgresql / data /

最后是我的两个Dockerfiles。 Django Dockerfile:

从python:3.5
 ENV PYTHONUNBUFFERED 1

运行mkdir /代码
 WORKDIR /代码
 ADD ./requirements.txt / code /
运行pip安装--no-cache-dir -r requirements.txt
 ADD。  /码/

 EXPOSE 8000

 CMD [“/ usr / local / bin / gunicorn”,“translation_microservice.wsgi”,“-w”,“2”,“-b”,“:8000”,“ -  access-logfile”,“ - ” “--capture输出”]

Nginx的Dockerfile:

从nginx:最新

 COPY ./nginx.conf /etc/nginx/nginx.conf