【问题标题】:Allowing docker-in-docker on dc/os?在 dc/os 上允许 docker-in-docker?
【发布时间】:2018-05-17 13:13:11
【问题描述】:

我正在尝试在 DC/OS 上使用 Airflow 安排“docker run”作业。这需要能够从包含 Airflow 的 docker 容器中启动 docker 容器。我可以在 OSX 上执行此操作,但只是运行:

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

我有没有使用 DC/OS 的等效方法来做到这一点?

【问题讨论】:

    标签: docker airflow dcos docker-in-docker


    【解决方案1】:

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

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

    一种解决方法是通过另一个现有框架开始工作,例如马拉松。马拉松优惠a REST API

    【讨论】:

      【解决方案2】:

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

      您可以在此处找到 Airflow 文档: https://airflow.apache.org/configuration.html#scaling-out-on-mesos-community-contributed

      在这种描述的场景中,Airflow Server 将通过 marathon(=DC/OS 服务部分)启动,并且此 Airflow Server 将自己注册为 Mesos 的调度程序,然后它能够​​启动常规 Mesos 任务。

      【讨论】:

        猜你喜欢
        • 2021-06-26
        • 1970-01-01
        • 2015-05-25
        • 1970-01-01
        • 2017-10-10
        • 1970-01-01
        • 2019-03-15
        • 2019-07-29
        • 2021-08-21
        相关资源
        最近更新 更多