Docker Compose - запуск сценария python (контейнер 1) из расписания воздушного потока (контейнер 2) - PullRequest
0 голосов
/ 03 февраля 2020

Я заметил, что airflow выпустил некоторые функции для запуска ноутбуков с использованием бумажной фабрики:

run_this = PapermillOperator(
    task_id="run_example_notebook",
    input_nb="/tmp/hello_world.ipynb",
    output_nb="/tmp/out-{{ execution_date }}.ipynb",
    parameters={"msgs": "Ran from Airflow at {{ execution_date }}!"}
)

Я пытаюсь использовать поток воздуха (расположенный на контейнере 1) для запуска некоторых ноутбуков с помощью anaconda env (расположенный на контейнере 2) ).

Диаграмма контейнеров

Что я сделал:

1- Создайте поток воздуха docker image:

FROM puckel/docker-airflow:1.10.2

USER root
RUN groupadd --gid 999 docker \
    && usermod -aG docker airflow
USER airflow

2- Создайте образ миниконды, который содержит все записные книжки, которые я хотел бы запустить:

FROM continuumio/miniconda

ENV EXECUTION_ID 111111

RUN conda install -y python=3.6.8 \
    && conda update conda  

RUN conda install -y notebook ipykernel \
&& ipython kernel install --user

RUN pip install papermill 

RUN mkdir notebook \
    && mkdir notebook/output

COPY code.ipynb ./notebook/code.ipynb
COPY params.yaml ./notebook/params.yaml
COPY run.sh ./notebook/run.sh

WORKDIR notebook
ENTRYPOINT ["bash", "./run.sh"]

3- Создайте docker файл композиции:

Я использую этот : github- docker -compose

Тем не менее, я все еще не понимаю, что мне добавить в этот docker compose, чтобы установить sh связь между окружением miniconda и потоком воздуха (находится в 2 разных контейнерах).

Что вы, ребята, рекомендуете делать?

...