Docker установка для двух приложений - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь установить два приложения в файле dockerfile. Пытался следовать руководству на веб-сайте докеров, но продолжаю получать сообщение об ошибке python manage.py runserver не существует.

Цель: Я пытаюсь запустить две разные программы (клиент и сервер), но устанавливаю их с тем же файлом dockerfile, а затем выберите, какой из них запускать в docker -compose (если возможно, в противном случае два разных файла dockerfile).

Структура: Файлы построены следующим образом:

root
    client
          client.py
          *other fíles/dirs connected to client.py*
    server
          manage.py
          *other fíles/dirs connected to manage.py*

Клиент подключается к серверу, который должен быть запущен в другом контейнере (в лучшем случае). И для запуска сервера выполняется следующее: python manage.py runserver.

Сервер всегда должен запускаться при запуске, но у клиента должно быть расписание или задание cron, которое в конечном итоге будет реализовано для запуска один раз в день. Поэтому я не думаю, что они могут работать в одном контейнере.

Что я пробовал:

FROM python:3.8.5-alpine3.12

RUN apk add -U --no-cache gcc build-base linux-headers ca-certificates python3-dev libffi-dev libressl-dev libxslt-dev

ENV VIRTUAL_ENV "/venv"
RUN python -m venv $VIRTUAL_ENV
ENV PATH "$VIRTUAL_ENV/bin:$PATH"

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

RUN mkdir /server

COPY /server/ /server/

RUN mkdir /client

COPY /client/ /client/

EXPOSE 5000

WORKDIR /server/
CMD ["python", "./manage.py runserver"]

Я не очень хорошо знаком с dockerfile, как с docker -compose, и я, кажется, не могу найти способ проверить контейнер, который я построил, чтобы увидеть, как устроена структура папок.

...