gpt4 book ai didi

docker - 将Nginx添加到我的Docker化Django应用程序中

转载 作者:行者123 更新时间:2023-12-02 18:50:21 26 4
gpt4 key购买 nike

我已成功将gunicorn添加到我的Dockerized Django应用程序中。我在向混音中添加Nginx时遇到问题。 Nginx服务器几乎立即退出。任何帮助,将不胜感激。
这是我的docker-compose.yml

version: "3"

services:
web:
build:
context: .
args:
HTTP_PROXY: http://amec.zscaler.company.com:9480
HTTPS_PROXY: http://amec.zscaler.company.com:9480
image: django_web
container_name: django_web
expose:
- "8000"
nginx:
build: ./nginx
ports:
- 1337:80
depends_on:
- web
这是我的Dockerfile:
FROM python:3.6

ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1

ARG HTTP_PROXY
ARG HTTPS_PROXY

COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt

RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN useradd user
USER user

CMD ["gunicorn", "django_web.wsgi:application", "--bind", "0.0.0.0:8000"]
这是我的nginx / Dockerfile:
FROM python:3.6
COPY nginx.conf /etc/nginx/conf.d
这是nginx.conf:
upstream django_web{
server web:8000;
}

server {
listen 80;

location / {
proxy_pass http://django_web/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
生成并运行所有命令的命令:
sudo docker-compose -f docker-compose.cambridge.yml up -d
下一条命令:
sudo docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
16f4651047ec django_nginx "python3" 20 seconds ago Exited (0) 18 seconds ago django_nginx_1
03a460153a9c django_web "gunicorn Django.…" 21 seconds ago Up 19 seconds 8000/tcp django_web
当我运行 sudo docker exec -ti 16f4651047ec ping web时,我会得到积极的回应。
新构建后,我运行: sudo docker logs 16f4651047ec我得到:
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration 

/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/

/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh

10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf

10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf

/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh

/docker-entrypoint.sh: Configuration complete; ready for start up
在尝试浏览到 http://my-ip:1337/之后,我运行: sudo docker logs 16f4651047ec我得到与上述相同的内容,外加以下一行:
161.88.207.220 - - [23/Jul/2020:13:29:11 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" "-"
p
在尝试浏览到 http://my-ip:1337/get_my_item/之后,我运行: sudo docker logs 16f4651047ec我得到与上述相同的内容,并加上以下内容:
161.88.207.220 - - [23/Jul/2020:13:29:11 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" "-"
2020/07/23 13:33:29 [error] 29#29: *3 "/usr/share/nginx/html/get_my_item/index.html" is not found (2: No such file or directory), client: 161.88.207.220, server: localhost, request: "GET /get_my_item/ HTTP/1.1", host: "10.228.91.5:1337"
161.88.207.220 - - [23/Jul/2020:13:33:29 +0000] "GET /get_my_item/ HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" "-"

最佳答案

您正在构建Nginx图片FROM python:3.6
这是一个简单的nginx:alpine Dockerfile示例:

FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

关于docker - 将Nginx添加到我的Docker化Django应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63016318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com