在装有Apache的服务器上部署带有Nginx和Gunicorn的Docker堆栈

9cbw7uwe  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(140)

我是新的主题Docker和服务器,一点一点我正在学习,但我遇到了一个问题,我没有看到太多的信息,并在最后我诉诸于问。
我有一个服务器上有一个Apache,我有几个网站部署(在PHP和R).我已经创建了一个应用程序在Django,我已经dockerized它使用Gunicorn和Nginx,我有问题,部署说的应用程序在服务器上,但因为我是一个新手,我甚至不知道是否有可能有一个Docker堆栈与Nginx和Gunicorn在一个服务器上安装了Apache...
这是Django项目的Dockerfile:

FROM python:3.8-slim-buster

WORKDIR /app

COPY requirements.txt .

RUN pip3 install --upgrade pip

RUN pip3 install -r requirements.txt

COPY project /app

COPY entrypoint.sh /
ENTRYPOINT ["sh", "/entrypoint.sh"]

以下是入口点:

#!/bin/sh

python manage.py migrate --no-input
python manage.py collectstatic --no-input

gunicorn project.wsgi:application --bind 0.0.0.0:8000

这是Nginx Dockerfile:

FROM nginx:1.19.0-alpine

COPY default.conf /etc/nginx/conf.d/default.conf

这是默认的.conf文件:

upstream django {
    server django_gunicorn:8000;
}

server {
    listen 8080;

    location / {
        proxy_pass http://django;
    }

    location /static/ {
        alias /static/;
    }
}

这是docker-compose文件:

version: '3.8'

services:
  django_gunicorn:
    volumes:
      - static:/static
    env_file:
      - .env
    build:
      context: .
    ports:
      - "8000:8000"
  nginx:
    build: nginx
    volumes:
      - static:/static
    ports:
      - "8080:8080"
    depends_on:
      - django_gunicorn

volumes:
  static:

Docker ps抛出的内容:

如果我在一个没有Apache的服务器上提升堆栈,它会工作,当我试图在有Apache的服务器上做它时,问题就来了...但是我不明白这个问题...
我不知道是否需要更多的信息,如果需要,对不起,你可以告诉我,我会尽快补充。

  • 谢谢-谢谢
iqxoj9l9

iqxoj9l91#

我也是在同样的情况下通过this教程学习Dockerizing Django,并面临着同样的问题。
修改Django项目的Dockerfile:

COPY ./entrypoint.sh /

COPY ./entrypoint.sh .
对我有用希望对你也有帮助。

相关问题