django - 带有docker的Django和nginx组成-静态文件未加载

标签 django nginx docker docker-compose

我知道有人问过类似的问题,但是我没有设法在任何地方找到正确的答案。

我想对我的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/

相关文章:

php - 规则错误的连接被拒绝和访问禁止,如何解决?

Nginx 反向代理上游不起作用

docker - 在 Windows 10 上的 Ubuntu 中安装 Docker : Failed to Setup IP tables: Unable to enable NAT rule

node.js - 尽管指定了 Kubernetes 部署/服务端口,但连接端口错误

Django - 限制允许输入到文本框中的字符数量

python - Django redirect_authenticated_user : True not working

django - Django 中的层次结构树导航

nginx - Nginx 背后的 SignalR - 获得 200 响应而不是 websocket 升级

ruby-on-rails - 将密码作为环境变量(而不是纯文本)存储在配置文件中是否安全?

docker - 如何将计算机中的文件添加到Docker容器中?