将默认参数传递给 apache-mesos 中的容器
Pass default parameters to container in apache-mesos
我正在尝试将默认参数(例如卷或环境)传递到我的 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 并在 marathon 中创建了新的容器,但是我在我的容器中看不到挂载的卷。我在哪里可以做错?如何以其他方式将默认值传递给我的容器?
这对你不起作用。当您使用 docker 在 Marathon 上安排任务时,Marathon 使用 ContainerInfo 创建 TaskInfo,这就是 Mesos 不填充默认值的原因。
--default_container_info=VALUE
JSON-formatted ContainerInfo that will be included into any ExecutorInfo that does not specify a ContainerInfo
您需要为您拥有的每个 Marathon 任务添加卷,或者创建 RunSpecTaskProcessor
这将增加所有任务的卷
我正在尝试将默认参数(例如卷或环境)传递到我的 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 并在 marathon 中创建了新的容器,但是我在我的容器中看不到挂载的卷。我在哪里可以做错?如何以其他方式将默认值传递给我的容器?
这对你不起作用。当您使用 docker 在 Marathon 上安排任务时,Marathon 使用 ContainerInfo 创建 TaskInfo,这就是 Mesos 不填充默认值的原因。
--default_container_info=VALUE
JSON-formatted ContainerInfo that will be included into any ExecutorInfo that does not specify a ContainerInfo
您需要为您拥有的每个 Marathon 任务添加卷,或者创建 RunSpecTaskProcessor
这将增加所有任务的卷