我的主机(Ubuntu服务器)上装有Nginx。使用Docker时应如何设置静态文件?
version: '2'
services:
postgres:
image: postgres:9.6
redis:
image: "redis:alpine"
web: &django
restart: always
environment:
- DJANGO_SECRET_KEY=local
image: web
build:
context: .
dockerfile: ./compose/production/web/Dockerfile
command: /gunicorn.sh
depends_on:
- postgres
- redis
links:
- redis
ports:
- "8083:5000"
在另一个项目(没有Docker)中,我在sites-enabled/mysite
中有此设置:
location /static/ {
root /home/myproject;
}
答案 0 :(得分:1)
我在这里做什么?
在卷中,我为静态文件设置了文件夹:
音量:
- /folder/myproject/static:/home/myproject/static
可能有很多其他方法可以做到这一点,但是我需要交付工作,所以那是我唯一可以做到的工作。
致谢
答案 1 :(得分:1)
在这里,您可以使用volume从容器到主机系统共享静态文件夹,如下所示:
version: '2'
services:
postgres:
image: postgres:9.6
redis:
image: "redis:alpine"
web: &django
restart: always
environment:
- DJANGO_SECRET_KEY=local
image: web
build:
context: .
dockerfile: ./compose/production/web/Dockerfile
volumes:
- /path/to/static/folder:/static
command: /gunicorn.sh
depends_on:
- postgres
- redis
links:
- redis
ports:
- "8083:5000"
现在,使用nginx从该路径提供这些内容:
location /static/ {
autoindex on;
alias /path/to/static/folder/;
}
在这里,我假设您使用/static
作为docker中django项目的静态根。