docker 中间层马拉松 - 无法在 docker 容器内看到 运行 进程

docker mesosphere marathon - unable to see running process inside a docker container

我是mesos和marathon的新手space。我有 mesos slaves 运行 连接我的 docker 容器。我正在使用马拉松来实例化一个 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 并使用 marathon 提出 post 请求。我的 docker 容器已按照马拉松式成功部署。到这里一切都很好。现在我使用命令

ssh 进入我的 docker 容器

sudo docker exec -i -t /bin/bash

我没有看到为 tomcat 生成的任何日志。我觉得我的 tomcat 还没有开始。 运行 telnet 8080 失败,因为 telnet 在容器上不可用。当我 运行 ps -aef 时,我看到以下内容可用“/bin/sh -c while sleep 10; do date -u +%T; done”。但是我仍然不能说 tomcat 是否是 运行ning。有没有人遇到过这样的问题...任何调试它的指针。

谢谢 阿希什

在您的 JSON 文件中,您应该有 "cmd": ""(最后一行),否则 docker 容器命令将被覆盖。