Django和nginx与docker组成 – 静态文件不加载

我知道有几个类似的问题已经被问到,但是我还没有设法在任何地方find正确的答案。

我想dockerize我的Django应用程序。 该应用程序在泊坞窗容器中工作正常,但静态文件(图像,CSS等)不加载。

docker-compose.yml

 version: '2' services: web: build: . command: ./start.sh volumes: - .:/app - /app/www/static ports: - "8000:8000" env_file: .env nginx: build: ./nginx links: - web ports: - "0.0.0.0:80:80" volumes_from: - web 

start.sh脚本

 python manage.py makemigrations --noinput python manage.py migrate --noinput python manage.py collectstatic --noinput exec gunicorn audiobridge.wsgi:application --bind 0.0.0.0:8000 --workers 3 

web容器的Dockerfile

 FROM python:2.7 ENV PYTHONUNBUFFERED 1 RUN mkdir /app WORKDIR /app ADD requirements.txt /app/ RUN pip install -r requirements.txt ADD . /app/ 

然后我有一个nginx /目录在我的项目中有以下Dockerfile

 FROM nginx COPY sites-enabled/audiobridge /etc/nginx/sites-enabled/ 

在nginx / sites-enabled里面有nginxconfiguration文件:

 server { listen 80; server_name 127.0.0.1; charset utf-8; location /static { alias /app/www/static/; } location / { proxy_pass http://web:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }