我是新的主题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的服务器上做它时,问题就来了...但是我不明白这个问题...
我不知道是否需要更多的信息,如果需要,对不起,你可以告诉我,我会尽快补充。
- 谢谢-谢谢
1条答案
按热度按时间iqxoj9l91#
我也是在同样的情况下通过this教程学习Dockerizing Django,并面临着同样的问题。
修改Django项目的Dockerfile:
到
COPY ./entrypoint.sh .
对我有用希望对你也有帮助。