docker - 使用Marathon启动nvidia-docker容器

标签 docker mesos marathon

使用Marathon启动nvidia-docker容器的最佳方法是什么?我知道Marathon有两种启动容器的方法,基本上是提供一个shell cmd作为JSON中的参数,或者通过使用container字段指定参数。但是,除了JSON中的“cmd”字段外,我没有找到一种方法来使用nvidia-docker与常规docker来指定启动容器。

还有使用cmd作为参数启动的缺点是什么:

{
"id": "myimage",
"cmd": "nvidia-docker run -it myimage bash",
"cpus": 1,
"mem": 512.0,
"instances": 3,
}

与使用“容器”字段相对:
{
"id": "myimage",
"cpus": 1,
"mem": 512.0,
"instances": 3,
"container": {
    "type": "DOCKER",
    "docker": {
        "image": "myimage",
        "network": "HOST"
    }
}
}

最佳答案

假设您使用nvidia-docker来利用GPU资源,则根本不需要使用nvidia-docker,因为GPU support in Mesos已经提供了使用Mesos容器化程序进行此操作所需的一切。您将需要最新版本的Mesos(> = 1.0)和Marathon(> = 1.3以--enable_features gpu_resources开头)。

如果由于某种原因这不适用于您的情况,则可以像在第一个示例中一样通过设置cmd字段直接调用nvidia-docker。尽管这可能会有一些警告,但由于它将直接与docker守护程序通信,因此可能绕过了Mesos隔离器。

关于docker - 使用Marathon启动nvidia-docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40667822/

相关文章:

php - 如何使用docker-compose将用户上传的文件保存到已安装的卷中?

c++ - 如何编译在docker中使用内核函数的C代码并在容器中使用pci设备?

hadoop - Hortonworks HDP与Mesos的集成

docker - Marathon - 当返回代码 = 0 时不重新部署应用程序?

docker - Marathon表示Docker处于等待状态,Docker引擎表示容器正在运行

java - 在 docker 容器中几分钟后重置 Spring Boot 连接

hadoop - 为集群创建 Spark 环境

mesos - mesos 仪表板上的“优惠”选项卡

docker - 在 Mesos/Marathon 上使用端口映射部署 Kibana 4 的 docker 容器

docker - 将文件通过管道传输到 docker run