使用docker-compose中的nvidia-docker

boa*_*oaz 4 docker docker-compose nvidia-docker

我想用docker-compose运行2个docker图像.

一个图像应该与nvidia-docker一起运行,另一个图像应该与docker一起运行.

我看过这篇文章使用nvidia-docker-compose启动一个容器,但很快就退出了,但这 对我不起作用(甚至没有只运行一个图像)...

任何想法都会很棒.

flo*_*son 9

更新:请检查nvidia-docker 2及其对docker-compose的支持首先 https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#do-you-support-docker-compose

(我首先建议添加nvidia-docker标签).

如果你在这里查看nvidia-docker-compose代码,它只会在localhost:3476上查询nvidia配置后为docker-compose生成一个特定的docker文件.

你也可以手工制作这个docker-compose文件,因为它们非常简单,按照这个例子,用你的nvidia驱动程序版本替换375.66并放入尽可能多的/ dev/nvidia [n]行,因为你有图形卡(确实如此)不要试图将服务放在单独的GPU上,而是去寻求它!):

services:
  exampleservice0:
    devices:
    - /dev/nvidia0
    - /dev/nvidia1
    - /dev/nvidiactl
    - /dev/nvidia-uvm
    - /dev/nvidia-uvm-tools
    environment:
    - EXAMPLE_ENV_VARIABLE=example
    image: company/image
    volumes:
    - ./disk:/disk
    - nvidia_driver_375.66:/usr/local/nvidia:ro
version: '2'
volumes:
  media: null
  nvidia_driver_375.66:
    external: true
Run Code Online (Sandbox Code Playgroud)

然后使用经典的docker-compose命令运行这个手工制作的docker-compose文件.

也许你可以通过跳过其他服务中的nvidia特定内容来与非nvidia码头工人合作.