gpt4 book ai didi

docker - 马拉松 Docker 任务失败

转载 作者:行者123 更新时间:2023-12-01 01:56:07 28 4
gpt4 key购买 nike

我在我的两台机器上设置了 Marathon 和 Mesos。
我可以从 marathon Web 控制台成功调度命令,但是当我尝试调度涉及 docker 图像的作业时,我立即发现作业失败。另外,我没有得到 stderr 或 stdout 文件。

示例 运行普通命令:

Marathon job conf:
{
"id": "testecho",
"cmd": "echo hello; sleep 10",
"cpus": 1,
"mem": 128,
"disk": 0,
"instances": 1
}

在 mesos 上,我看到任务已经成功。我有像往常一样的 stderr 和 stdout 文件。

mesos: simple command job success

但是现在如果我运行一个简单的 docker 镜像任务:
Marathon job conf:

{
"id": "/ubuntu",
"cmd": "date -u +%T",
"cpus": 0.5,
"mem": 512,
"disk": 0,
"instances": 1,
"container": {
"type": "DOCKER",
"volumes": [],
"docker": {
"image": "libmesos/ubuntu",
"network": null,
"portMappings": null,
"privileged": false,
"parameters": [],
"forcePullImage": false
}
},
"portDefinitions": [
{
"port": 10001,
"protocol": "tcp",
"labels": {}
}
]
}

在 mesos 上,我看到它立即失败了:

mesos: docker job failed

而且我没有 stderr 或 stdout 文件:

No stderr or stdout files

我还注意到,在我的两台机器上,当我运行时:
docker ps -a

我在两台机器上都看不到任何东西。所以这意味着甚至没有启动 docker 作业

什么会影响 docker 部署?

我能想到的一个原因是,marathon 用来启动任务的用户无法访问 docker?我该如何测试?

我注意到当我运行命令时:
sudo cat /etc/passwd

我看到一个用户zookeeper。也许这是无权访问docker的用户?

但是当我这样做时:
  su zookeeper

我不更改用户资料

最佳答案

经过一些教程后,我从以下教程中找到了答案:http://frankhinek.com/deploy-docker-containers-on-mesos-0-20/

我必须启用 Docker 容器化器 在我的 mesos 奴隶上

  • 设置 --containerizers=docker,mesos"命令行参数:
    echo "docker,mesos" | sudo tee /etc/mesos-slave/containerizers
  • 将执行程序超时增加到 5 分钟 1:(我想这是可选的)
    echo "5mins" | sudo tee /etc/mesos-slave/executor_registration_timeout
  • 重启 Mesos Slave:
    sudo service mesos-slave restart
  • 关于docker - 马拉松 Docker 任务失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40339994/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com