我已经创建了一个应用程序使用django。我运行这个应用程序现在使用django组成建立django组成了。
当我打开http://0.0.0.0:8000时,它会附带静态文件。当我打开http://0.0.0.0:80时,它不会显示静态文件
- 坞站组合**
version: '3.7'
services:
django_gunicorn:
volumes:
- static:/static
env_file:
- .env
build:
context: .
ports:
- "8000:8000"
nginx:
build: ./nginx
volumes:
- static:/static
ports:
- "80:80"
depends_on:
- django_gunicorn
volumes:
static:
Docker文件
FROM python:3.10.0-alpine
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt
COPY ./video_app /app
WORKDIR /app
COPY ./entrypoint.sh /
ENTRYPOINT ["sh", "/entrypoint.sh"]
Entry.sh
#!/bin/sh
python manage.py migrate --no-input
python manage.py collectstatic --no-input
DJANGO_SUPERUSER_PASSWORD=$SUPER_USER_PASSWORD python manage.py createsuperuser --username $SUPER_USER_NAME --email $SUPER_USER_EMAIL --noinput
gunicorn video_app.wsgi:application --bind 0.0.0.0:8000
NGINX Docker文件
FROM nginx:1.19.0-alpine
COPY ./default.conf /etc/nginx/conf.d/default.conf
Default.conf
upstream django {
server django_gunicorn:8000;
}
server {
listen 80;
location / {
proxy_pass http://django;
}
location /static/ {
alias /static/;
}
}
enter image description hereenter image description here
你能帮我解决这个问题吗
1条答案
按热度按时间polhcujo1#
默认的.conf文件只列出Django的docker地址,但没有列出端口,所以默认为端口80。