我知道有人问过类似的问题,但是我没有设法在任何地方找到正确的答案。
我想对我的Django应用进行docker化。该应用程序在docker容器中运行良好,但未加载静态文件(图像,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
Dockerfile
容器的web
: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的内部,有nginx配置文件:
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;
}
}
最佳答案
enter image description here
数量:
-“../nginx/conf.d:/etc/nginx/conf.d/templates”
-“/ static:/ static”
您是否尝试将此代码添加到nginx和django应用程序?
关于django - 带有docker的Django和nginx组成-静态文件未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40383120/