Я хочу контейнировать конвейер кода, который был преимущественно разработан на Python, но имеет зависимость от модели, которая была обучена на R. Есть некоторые дополнительные зависимости от требований и пакетов, необходимых для обеих кодовых баз.Как я могу создать образ Docker, который позволит мне создать контейнер, который будет запускать этот код Python и R вместе?
Для контекста у меня есть код R, который запускает модель (случайный лес), но он долженбыть частью конвейера данных, который был построен в Python.Конвейер Python сначала выполняет некоторые функциональные возможности и генерирует входные данные для модели, затем выполняет код R с этими входными данными, прежде чем перенести выходные данные на следующую стадию конвейерного Python.
Итак, я создал шаблон для этого процесса, написав простую тестовую функцию Python для вызова кода R («test_call_r.py», который импортирует пакет подпроцесса) и должен поместить его в контейнер Docker снеобходимые требования и пакеты для Python и R.
Мне удалось построить контейнер Docker для самого конвейера Python, но я не могу успешно установить R и связанные пакеты вместе с требованиями Python.Я хочу переписать Dockerfile, чтобы создать образ для этого.
Из документации Dockerhub я могу создать образ для конвейера Python, используя, например,
FROM python:3
WORKDIR /app
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
CMD [ "python", "./test_call_r.py" ]
И аналогично из Dockerhub я могу использовать базовый образ R (или Rocker) для созданияКонтейнер Docker, который может запускать модель randomForest, например,
FROM r-base
WORKDIR /app
COPY myscripts /app/
RUN Rscript -e "install.packages('randomForest')"
CMD ["Rscript", "myscript.R"]
Но мне нужно создать образ, который может установить требования и пакеты для Python и R, и выполнить кодовую базу для запуска R изподпроцесс в Python.Как я могу это сделать?