使用marathon启动nvidia docker容器的最佳方式是什么?我知道marathon有两种启动容器的方法,基本上要么在json中提供shell cmd作为参数,要么使用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"
}
}
}
1条答案
按热度按时间l7mqbcuq1#
假设你用的是
nvidia-docker
要利用gpu资源,您不需要使用nvidia-docker
因为mesos中的gpu支持已经提供了使用mesos集装箱船所需的一切。您将需要一个最新版本的mesos(>=1.0)和marathon(>=1.3),从--enable_features gpu_resources
).如果由于某种原因这不适用于你的情况,你可以直接打电话
nvidia-docker
通过设置cmd字段,就像您在第一个示例中所做的那样。虽然这可能有一些警告,因为它将直接与docker守护进程通信,可能会绕过mesos隔离器。