我想用docker-compose运行2个泊坞窗图像。
一个图像应该与nvidia-docker一起运行,另一个图像应该与docker一起运行。
我看过这篇文章use nvidia-docker-compose launch a container, but exited soon 但这对我不起作用(甚至不只运行一张图像)......
任何想法都会很棒。
答案 0 :(得分:7)
更新:请先检查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代码here,它只会在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
然后用经典的docker-compose命令运行这个手工制作的docker-compose文件。
也许你可以通过跳过其他服务中的nvidia特定内容来与非nvidia码头工人合作。
答案 1 :(得分:0)