docker - Docker uWSGI - NGINX:uWSGI ok 但 NGINX 是 502
问题描述
我使用 docker compose 配置了我的 django-uwsgi-nginx 和以下文件。
从浏览器“ http://127.0.0.1:8000/ ”工作正常并给我django默认页面
从浏览器“ http://127.0.0.1:80 ”抛出 502 Bad Gateway
dravoka-docker.conf
upstream web {
server 0.0.0.0:8000;
}
server {
listen 80;
server_name web;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias "/dravoka-static/";
}
location / {
include uwsgi_params;
proxy_pass http://web;
}
}
nginx/Dockerfile
FROM nginx:latest
RUN echo "---------------------- I AM NGINX --------------------------"
RUN rm /etc/nginx/conf.d/default.conf
ADD sites-enabled/ /etc/nginx/conf.d
RUN nginx -t
web 只是来自“django-admin startproject web”
docker-compose.yaml
version: '3'
services:
nginx:
restart: always
build: ./nginx/
depends_on:
- web
ports:
- "80:80"
web:
build: .
image: dravoka-image
ports:
- "8000:8000"
volumes:
- .:/dravoka
command: uwsgi /dravoka/web/dravoka.ini
Dockerfile
# Ubuntu base image
FROM ubuntu:latest
# Some installs........
EXPOSE 80
解决方案
当您从 docker 实例中说时,您正在容器中运行 curl ?或者您正在从本地运行 curl 命令?
如果您从本地运行它,请将 docker-compose 的web
服务更新为以下
...
web:
build: .
image: dravoka-image
expose:
- "8000:8000"
volumes:
- .:/dravoka
command: uwsgi /dravoka/web/dravoka.ini
然后再试一次。
推荐阅读
- angular - 我可以用什么来刷新 observable 而不是switchingMap()?
- android - 如何从android中的片段中获取静态记录器?
- swap - Uniswap V3 超出价格区间和区间排序
- javascript - 我如何在列标题反应表中检索访问器名称
- asynchronous - Ldaptor -Twisted 框架 => 我想进行阻塞调用,但也接受新请求
- python - 在现有 TAB 中的 Python 中打开 URL?
- vue.js - Vue 3 中的 this.$forceUpdate 等效项 - 组合 API?
- android - 我如何计算来自firestore的文档数量并以文本形式返回
- contentful - 在 Android 中使用 Contentful 进行数据离线持久化
- cron - 我可以在 GCP Cloud 调度程序中使用的 Cron 表达式中使用脚本吗?