Как отправить приложение Django в виде образа docker?

Я хотел бы упаковать и отправить веб-приложение Django в виде образа Docker.

Когда я делаю docker-compose up, я вижу древовидную иерархию в контейнерах рабочего стола Docker, и она работает как ожидалось, когда я перехожу на http://localhost:85

django-dashboard-volt
|___appseed_app
|___nginx

Если я сохраняю и загружаю изображение, я вижу следующее в контейнерах рабочего стола Docker, и веб-приложение не работает:

django-dashboard-volt_appseed-app
nginx

Вот как я сохраняю и загружаю изображения:

docker save django-dashboard-volt_appseed-app:latest nginx:latest | gzip > django.tar.gz

docker load --input django.tar.gz

Вот Dockerfile:

FROM python:3.9

COPY . .
ADD test .
ADD data .

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PYTHONPATH /test

ENV APP_USER=xxxx
ENV APP_HOME=/home/$APP_USER

# install python dependencies
#RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --upgrade pip 

RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --no-cache-dir -r requirements.txt

RUN tar xvzf gurobi9.5.0_linux64.tar.gz
ENV GUROBI_HOME /gurobi950/linux64
RUN cd /gurobi950/linux64 && python setup.py install
RUN rm gurobi9.5.0_linux64.tar.gz
RUN echo "TOKENSERVER=xxxx" > /gurobi.lic

RUN groupadd -r $APP_USER && \
    useradd -r -g $APP_USER -d $APP_HOME -s /sbin/nologin -c "Docker image user" $APP_USER

    
ENV TZ 'America/Los_Angeles'
RUN echo $TZ > /etc/timezone && apt-get update && \
    apt-get install -y tzdata && \
    rm /etc/localtime && \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata && \
    apt-get clean
        

RUN chown -R $APP_USER:$APP_USER /gurobi950
RUN chown -R  $APP_USER:$APP_USER  /db

### What is better than 777?
RUN chmod -R 777 /db
RUN chmod -R 777 /gurobi950

ENV GRB_LICENSE_FILE /gurobi.lic
ENV LD_LIBRARY_PATH=/gurobi950/linux64/lib
RUN /gurobi950/linux64/bin/gurobi_cl --version

WORKDIR /


# running migrations
RUN python manage.py migrate

USER $APP_USER

# gunicorn
CMD ["gunicorn", "--config", "gunicorn-cfg.py", "core.wsgi"]

Мой вопрос:

Как сохранить и загрузить образ Django Docker, чтобы загруженный контейнер Django работал из веб-браузера?

Вернуться на верх