2016-11-18 164 views
0

使用Marathon啓動nvidia-docker容器的最佳方式是什麼?我知道馬拉松有兩種啓動容器的方法,它們基本上是在JSON中提供shell cmd作爲參數,或者通過使用容器字段指定參數。然而,我還沒有找到一種方法來指定啓動容器與nvidia-docker與除JSON中的「cmd」字段以外的常規泊塢窗。使用Marathon啓動nvidia-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" 
    } 
} 
} 

回答

2

假設你正在使用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隔離器。

+0

句子「假設您使用nvidia-docker來利用GPU資源,根本不需要使用nvidia-docker」有點令人困惑。我設法得到了gpu支持與mesos容器一起工作,並啓用了gpu_resources標誌。我確實安裝了nvidia-docker軟件包,但沒有設置任何docker標誌或明確地調用nvidia-docker。我甚至需要安裝這個軟件包嗎?謝謝。 – MarkNS

+0

不,你不需要安裝這個軟件包,唯一的依賴是[Nvidia內核驅動](http://mesos.apache.org/documentation/latest/gpu-support/#external-dependencies),儘管它也是安裝CUDA工具包是有意義的。 – nfnt

相關問題