Разрешить docker-in-docker на dc/os?

Я пытаюсь запланировать задания Docker Run с использованием Airflow в DC/OS. Для этого требуется возможность запуска док-контейнеров из док-контейнера, который содержит Airflow. Я могу сделать это на OSX, но просто работает:

docker run \
  -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock {image name}

Есть ли для меня эквивалентный способ сделать это с помощью DC/OS?

2 ответа

Способ DC/OS будет планировать задания через Mesos Master. Это означает написание каркаса, который бы согласовывал распределение ресурсов (= "запуск задания Docker") с Мастером. Таким образом, запуск задания выполняется на любом узле кластера с доступными ресурсами для выполнения задачи. Такая структура является еще одной службой, которая отвечает за согласование ресурсов с мастером Mesos. Есть много примеров таких платформ:

Большинство из них построены на основе сервисной платформы dcos-commons.

Обходной путь должен был бы начать работу через другую существующую структуру, например, Марафон. Марафон предлагает REST API.

Похоже, у Airflow есть собственная реализация планировщика Apache Mesos, которая очень хороша и именно то, что вы ищете. Если вы используете DC/OS, вы можете установить несколько планировщиков Mesos, которые могут запускать задачи на Mesos независимо друг от друга, и в действительности нет необходимости в привилегированном режиме.

Вы можете найти документацию Airflow здесь: https://airflow.apache.org/configuration.html

В этом описанном сценарии Airflow Server будет запущен через марафон (= раздел службы DC/OS), и это Airflow Server зарегистрирует себя в качестве планировщика в Mesos, а затем он сможет запускать обычные задачи Mesos.

Другие вопросы по тегам