允许dc / os中的docker-in-docker?

我正在尝试在DC / OS上使用Airflow安排“docker运行”作业。 这需要能够从包含气stream的docker集装箱内启动docker集装箱。 我能够在OSX上做到这一点,但只是运行:

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

是否有一个等同的方式来使用DC / OS来做到这一点?

DC / OS方式将通过Mesos Master调度作业。 这意味着要编写一个框架来与Master协商资源分配(=“启动Docker作业”)。 因此,可以使用任务的可用资源在群集中的任何节点上启动作业。 这个框架是另一个负责与Mesos Master进行资源协商的服务。 这样的框架有很多例子:

  • 卡夫卡
  • 卡桑德拉

大部分都build立在dcos-commons服务框架之上。

解决方法是通过另一个现有的框架,例如Marathon开始工作。 Marathon提供了一个REST API 。

它看起来像Airflow有一个自己的Apache Mesos调度程序实现,这是相当不错,正是你在找什么。 如果您正在运行DC / OS,则可以安装多个Mesos调度程序,这些调度程序可以独立地在Mesos上启动任务,实际上不需要特权模式。

您可以在这里findAirflow文档: https : //airflow.apache.org/configuration.html#scaling-out-on-mesos-community-contributed

在这种情况下, Airflow Server将通过马拉松(= DC / OS服务部分)启动,并且这个Airflow Server将自己注册为调度器到Mesos,然后它能够​​启动常规的Mesos任务。