Docker部署在Marathon上失败,否则工作正常

我一直在尝试使用Mesosphere Marathon在Mesos上部署Docker容器基于Web的应用程序。

我第一次尝试部署我的Play Framework应用程序,它使用docker容器启动它时正常工作。 然后,我也尝试了Mesosphere网站上提供的示例应用程序 。 在马拉松内都失败,但作为独立docker图像运行时工作正常。

应用程序在Marathon Web UI中显示为“等待”或“部署”,而在Mesos上则显示为失败。 我确信Mesos从站运行良好。 我相信,因为应用程序在Mesos上失败,Marathon会尝试重新启动它,这就是为什么我几乎总是得到这些状态消息的原因。

我以前尝试在马拉松(相同的安装)部署相同的应用程序(没有包装在docker容器内),它工作正常。 不过,我们真的想为我们的应用程序使用Docker。

我经历了大量的教程,一切似乎都遵循着“规则”。 我不明白什么是错的。

编辑:

E1104 19:29:01.291219 4242 slave.cpp:3342] Container '9dbebe8c-5506-4f70-b560-34be39ecdc96' for executor 'mediator.30dbd1ed-82fc-11e5-b1d4-56847afe9799' of framework '64d39023-aad3-4fdc-8565-6d8e3ec9cb77-0000' failed to start: Failed to 'docker -H unix:///var/run/docker.sock pull devrep/message-mediator:latest': exit status = exited with status 1 stderr = Error: image devrep/message-mediator:latest not found W1104 19:29:01.293334 4244 docker.cpp:1002] Ignoring updating unknown container: 9dbebe8c-5506-4f70-b560-34be39ecdc96 E1104 19:29:06.711524 4241 slave.cpp:3342] Container 'b7f8004a-2759-41ec-8169-61d04a7c4c3d' for executor 'mediator.343b027e-82fc-11e5-b1d4-56847afe9799' of framework '64d39023-aad3-4fdc-8565-6d8e3ec9cb77-0000' failed to start: Failed to 'docker -H unix:///var/run/docker.sock pull devrep/message-mediator:latest': exit status = exited with status 1 stderr = Error: image devrep/message-mediator:latest not found 

没有一个实际的错误信息或日志,很难猜测你的问题可能是什么。

我的第一个想法是,你应该检查你的Mesos Slaves是否以--containerizers=docker,mesos标志开始。 否则,根本无法工作。

另外,如果您使用的是私有registry,请确保您的Mesos Slaves上的Docker被configuration为使用它,或者按照Marathon文档中有关如何使用私有registry的指导。

你可以做一个docker pull devrep/message-mediator:latest的任何Mesos奴隶?

另外,请参阅