ai0*_*307 2 marathon docker mesos mesosphere
我有Mesos集群由3台CentOS6.5机器组成.
ZooKeeper和Mesos-Master在其中一台机器上运行,Mesos-Slave在每台机器上运行.
此外,Marathon正在主节点上运行.
然后,我按照 Mesosphere的指示,尝试在Marathon上运行docker容器.
job.json
如下,
{
"container": {
"type": "DOCKER",
"docker": {
"image": "libmesos/ubuntu"
}
},
"id": "ubuntu",
"instances": 1,
"cpus": 0.5,
"mem": 512,
"uris": [],
"cmd": "date -u +%T"
}
Run Code Online (Sandbox Code Playgroud)
然后我运行以下命令,
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" <master-hostname>:8080/v2/apps -d@job.json
Run Code Online (Sandbox Code Playgroud)
然后在Marathon Web UI上,我可以看到Docker容器即使在很长一段时间后也处于"部署"状态.
在Mesos-Master Web UI上,我可以看到任务在很长一段时间后处于"STAGING"状态.
在Sandbox窗格中,我可以看到stdout,命令似乎已完成successfly.没问题.
stderr是这样的,
I0416 19:19:49.254998 29178 exec.cpp:132] Version: 0.22.0
I0416 19:19:49.257824 29193 exec.cpp:206] Executor registered on slave 20150416-160950-109643786-5050-30728-S0
Run Code Online (Sandbox Code Playgroud)
stdout是这样的,
Registered executor on master-hostname
10:19:49
Run Code Online (Sandbox Code Playgroud)
但我希望容器(TASK)在完成命令后完成. 可能吗? 如果可能,怎么做?
谢谢.
任务将完成(您应该能够在Mesos完成的任务中看到)但是容器将由Marathon重新启动.Marathon适用于长期运行的应用程序.
如果您不希望您的应用程序连续运行,您应该看一下像Chronos这样的另一个框架.
归档时间: |
|
查看次数: |
998 次 |
最近记录: |