首页 > 解决方案 > 通过 Rancher 将 Django、Gunicorn docker 镜像部署到 Kubernetes 的问题

问题描述

我在将 docker 映像部署到 RKE 上时遇到问题。我的 docker 镜像是一个使用 gunicorn 提供服务的 django 应用程序。我正在使用 gitlab CI 来测试应用程序、构建容器并保存容器(在 gitlab 容器注册表中),它通过了所有测试并成功构建了容器。

当我在牧场主上部署它时,它会很好地拉取图像并构建容器,但我不断收到无法找到 gunicorn 可执行文件的错误。我已经为 CMD/ENTRYPOINT 尝试了所有不同类型的配置,但我不断收到错误消息。当我把头撞在墙上时,任何帮助都会令人惊叹。

Dockerfile 如下:

FROM python:3.8.5-slim-buster

# install dependencies
RUN apt-get -y update && apt-get -y upgrade && apt-get install -y musl-dev libpq-dev gcc 

ENV VIRTUAL_ENV=venv
RUN python3 -m venv $VIRTUAL_ENV
RUN echo $PATH
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN echo $PATH
RUN ls -hal
RUN pwd

# Install dependencies:
COPY requirements.txt .
RUN pip install -r requirements.txt
RUN ls -hal
RUN ls -hal venv/bin
RUN which gunicorn

# copy project
COPY . .

EXPOSE 8080

CMD /venv/bin/gunicorn --bind :8080 django_app.wsgi

下面的Requirements.txt(尝试进行一些清理有点混乱):

astroid==2.3.3
autopep8==1.5
Django==2.2.2
django-autocomplete-light==3.4.1
django-bootstrap-modal-forms==1.4.2
django-crispy-forms==1.7.2
djangorestframework==3.9.4
gunicorn==20.1.0
html5lib==1.0.1
isort==4.3.21
lazy-object-proxy==1.4.3
mccabe==0.6.1
Pillow==8.3.0
pip-autoremove==0.9.1
psycopg2==2.9.1
pycodestyle==2.5.0
pylint==2.4.4
PyPDF2==1.26.0
pytz==2019.1
six==1.12.0
sqlparse==0.3.0
typed-ast==1.4.1
webencodings==0.5.1
wrapt==1.11.2

标签: djangodockerkubernetesgunicornrancher

解决方案


推荐阅读