Я пытаюсь установить два приложения в файле 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, и я, кажется, не могу найти способ проверить контейнер, который я построил, чтобы увидеть, как устроена структура папок.