我一直在尝试使用mesosphere marathon在mesos上部署一个基于docker容器web的应用程序。
我第一次尝试部署play框架应用程序,当我使用docker容器启动它时,它运行良好。然后,我还尝试了中间层网站上的示例应用程序。两者在马拉松比赛中都失败了,但作为独立的docker映像运行时效果良好。
应用程序在MarathonWebUI中显示为“等待”或“部署”,而在mesos上则失败。我已经确定迈索斯的奴隶运转良好。我相信,由于应用程序在mesos上失败,marathon会尝试重新启动它,这就是为什么我几乎总是收到这些状态消息的原因。
我以前尝试过在marathon(相同的安装)上部署相同的应用程序(没有将其 Package 在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
2条答案
按热度按时间q3qa4bjr1#
我知道现在回答这个问题已经很晚了,但可能会有所帮助。看到你的日志我发现
在这里
latest
是图像的标记名,如果您不提供容器内docker图像或将其保留为空(如下面所示)它会自动尝试拉动
devrep/message-mediator:latest
我非常怀疑它是否会出现,所以请尝试添加一个标记名,例如在我的情况下,它是v1xsuvu9jc2#
如果没有实际的错误消息或日志,很难猜测您的问题可能是什么。
我的第一个想法是,你应该检查你的mesos奴隶是不是从
--containerizers=docker,mesos
根本就不是旗帜。如果不行,那就根本不行了。另外,如果您使用的是私有注册表,请确保mesos从属服务器上的docker配置为使用它,或者遵循marathon文档中关于如何使用私有注册表的指导原则。
你能做点什么吗
docker pull devrep/message-mediator:latest
任何一个mesos奴隶?另外,请参见
https://github.com/mesosphere/marathon/issues/1781