准备
官方Docker安装方法
https://docs.docker.com/install/linux/docker-ee/ubuntu/
假设已安装docker和docker-compose,并且docker-compose.yml在当前目录中。
docker-compoose.yml内容如下:version: '2.4'
services:nvsmi:image: ubuntu:16.04runtime: nvidiaenvironment:- NVIDIA_VISIBLE_DEVICES=allcommand: nvidia-smi
关于NVIDIA_VISIBLE_DEVICES
nvidia-container-runtime
qiita的链接:
如何制作可以使用NVIDIA GPU的Docker映像
如何在Docker中使用GPU
在容器内使用gpu,使用--runtime = nvidia设置选项
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
在Docker 19.03或更高版本中,设置选项--gpus all
$ docker run --gpus all --rm nvidia/cuda nvidia-sm
如何在Docker-compose中使用GPU
我不知道如何在docker-compose中使用gpu来启动多个容器。
要在docker-compose上使用gpu,请在运行时进行设置
How do I specify nvidia runtime from docker-compose.yml?
因此,如上所述创建docker-compose.yml
运行起来
$ docker-compose up ERROR: The Compose file './docker-compose.yml' is invalid because:Unsupported config option for services.nvidia: 'runtime'
哦,gpu不能用
从1.19开始,runtime已添加到docker-compose
Added support for the runtime option in service definitions
因此,如果您检查使用$ sudo apt install docker-compose安装的docker-compose的版本
$ docker-compose -vdocker-compose version 1.17.1, build unknown
版本早于2.3! ! !
$ sudo apt remove docker-compose
删除
从官方docker compose版本下载ver1.24.1并授予执行权限
$ curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
docker-compose version确认
$ docker-compose -vdocker-compose version 1.24.1, build 4667896b
运行
$ docker-compose up
结果如下:
参考:
使用nvidia-docker创建GPU容器
在linux服务器上搭建nvidia-docker环境