使用 mesos-execute 时如何制作 mesos force-pull 镜像?

How do I make mesos force-pull images when using mesos-execute?

像 Marathon 或 Chronos 这样的 Mesos 框架为此有 forcePull-like 选项,使 mesos 代理从注册表中提取图像。

mesos-execute也可以吗?我必须在 TaskInfo 或 TaskGroupInfo 中指定一个选项吗?

我在 mesos 源中搜索了像 "force pull" / "forcepull" 或 "cached" 这样的词,但没有骰子。

你应该在TaskInfo中指定一个相应的选项来强制拉取镜像。确切位置——取决于您使用的容器类型(阅读:containerizer)。

如果您使用 docker 容器化器,即您的 TaskInfo.container.type = DOCKER,请查看 ContainerInfo.DockerInfo.force_pull_image。您要在 JSON 中为 TaskInfo 设置的是 TaskInfo.container.docker.force_pull_image = true.

如果您使用 mesos containerizer,即您的 TaskInfo.container.type = Mesos,那么您指定 TaskInfo.container.mesos.image,它可能是 docker 或 appc 容器,因此应该查看 Image, which has a cached flag.您要在 JSON 中为 TaskInfo 设置的是 TaskInfo.container.mesos.image.cached = false.