我正在Docker中使用NGINX和Ubuntu Server上的Gunicorn运行Django应用程序。这是一个相当大的“遗留”项目,因此我不是配置它的人。为什么在运行docker-compose down
之前必须运行docker-compose up -d
来反映我对Django静态文件所做的更改? docker文件运行django的CLI命令来收集项目目录中的静态文件。
在这两种情况下,我在放下或放下之前都跑过docker-compose build
。
首先停止NGINX容器,然后放上该容器,似乎使NGINX可以找到静态文件,但是NGINX为什么不能提供添加到另一个容器中的文件?
正在运行的docker compose文件:
version: '2'
services:
nginx:
image: nginx:latest
container_name: smi-nginx
ports:
- "8080:8080"
volumes:
- ./src:/src
- ./config/nginx:/etc/nginx/conf.d
- /static:/static
depends_on:
- web
web:
build: .
container_name: smi-App
volumes:
- /static:/static
command: bash -c "gunicorn -w 3 -t 14400 --max-requests 75 -b 0.0.0.0:5000 project.wsgi:application"
environment:
- APPLEVEL=DEVELOPMENT
- MachineID=99
- DbUser=djangouser
- Password=secret
expose:
- "5000"
谢谢!