2015-02-09 61 views
0

我是mesos和馬拉松空間的新手。我有運行我的碼頭集裝箱的mesos奴隸。我正在使用馬拉松來實例化一個mesos任務。這是我簡單的json文件:碼頭中間層馬拉松 - 無法在碼頭集裝箱內看到正在運行的流程

{ 
    "container": { 
    "type": "DOCKER", 
    "docker": { 
     "image": "tomcat:8.0" 
    } 
    }, 
    "id": "tomcat", 
    "instances": 1, 
    "cpus": 0.5, 
    "mem": 512, 
    "uris": [], 
    "cmd": "while sleep 10; do date -u +%T; done" 
} 

我使用curl並使用馬拉松提出了一個post請求。我的碼頭集裝箱按馬拉松成功部署。直到這裏一切都很好。現在,我ssh到使用命令

須藤泊塢窗EXEC -i -t /斌/慶典

我沒有看到tomcat的產生任何日誌我的搬運工容器。我覺得我的tomcat還沒有開始。由於telnet在容器上不可用,因此運行telnet 8080失敗。當我運行ps -aef時,我看到以下內容可用:「/ bin/sh -c while sleep 10; do date -u +%T; done」。但是我不能說tomcat是否在運行。有沒有人遇到這樣的問題......任何指針來調試它。

感謝 阿希什

+0

我相信你必須在你的JSON文件上使用端口映射,以便你可以運行Tomcat服務器?你也可以嘗試netstat -an | grep 8080. – Hans 2015-02-10 03:20:06

+0

感謝Han的幫助 – ashishjain 2015-02-10 10:17:51

+0

docker exec不使用SSH進入容器。它使用內核命名空間在容器內啓動一個新進程,在這種情況下是一個新的shell。 – 2015-10-20 09:45:00

回答

0

在你的JSON文件,你應該有"cmd": ""(最後一行),否則泊塢窗的容器命令將被覆蓋。

+0

你是天使。非常感謝。 – ashishjain 2015-02-10 04:41:41

+0

@ user1507003不客氣。順便說一句,看起來'cmd'是可選的,所以你可以完全刪除線。請參閱:http://mesosphere.github.io/marathon/docs/native-docker.html – 2015-02-10 09:22:41

+0

非常感謝您指出了這一點。順便說一句,有一些文件,其中描述每個這些標籤,並在那裏使用? – ashishjain 2015-02-10 11:08:10