准备

官方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.04
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
    command: 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 -v
  docker-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 -v
  docker-compose version 1.24.1, build 4667896b

运行

$ docker-compose up

结果如下:

 参考:

使用nvidia-docker创建GPU容器

在linux服务器上搭建nvidia-docker环境

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐