将默认参数传递给apache-mesos中的容器

时间:2017-08-23 08:16:47

标签: docker mesos marathon

我正在尝试将默认参数(如volume或envs)传递给我的docker容器,这是我通过Marathon和Apache Mesos创建的。通过传递给mesos-slave的参数是可能的。我已经在/etc/mesos-slave/default_container_info文件中放入了JSON内容(mesos-slave读取此文件并将其作为参数):

{
  "type": "DOCKER",
  "volumes": [
    {
      "host_path": "/var/lib/mesos-test",
      "container_path": "/tmp",
      "mode": "RW"
    }
  ]
}

然后我重新启动了mesos-slave并在马拉松中创建了新容器,但是我无法在容器中看到已安装的卷。哪里可以搞错?如何以其他方式将默认值传递给我的容器?

1 个答案:

答案 0 :(得分:0)

这对你不起作用。当您使用docker在Marathon上安排任务时,Marathon会使用ContainerInfo创建TaskInfo,这就是为什么Mesos不会填充您的默认值。

来自documentation

  

--default_container_info=VALUE JSON格式的ContainerInfo将包含在任何执行指定ContainerInfo

的ExecutorInfo中

您需要为每个Marathon任务添加卷,或者创建RunSpecTaskProcessor,这将增加卷的所有任务