我正在尝试将默认参数(如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并在马拉松中创建了新容器,但是我无法在容器中看到已安装的卷。哪里可以搞错?如何以其他方式将默认值传递给我的容器?
答案 0 :(得分:0)
这对你不起作用。当您使用docker在Marathon上安排任务时,Marathon会使用ContainerInfo创建TaskInfo,这就是为什么Mesos不会填充您的默认值。
的ExecutorInfo中
--default_container_info=VALUE
JSON格式的ContainerInfo将包含在任何执行不指定ContainerInfo
您需要为每个Marathon任务添加卷,或者创建RunSpecTaskProcessor
,这将增加卷的所有任务