docker19.03+调用宿主机nvidia显卡,配置默认runtime=nvidia

如果想在容器里调用宿主机的nvidia显卡加速运算,docker 19.03+版本摒弃了之前的nvidia-docker2的实现方式,docker 运行镜像时候只需在run 后加--gpus all的参数,但是在docker-compose里确没有--gpus=all或者runtime=nvidia的参数让docker调用nvidia显卡,之前还以为了nvidia-docker官方没有跟上docker进度,功能还未实现,这个困扰了很多人。在我的锲而不舍下(^_^),今天终于发现了正确的使用方法。实现分享如下。

 

前提:安装了docker19.03+版本和nvidia-docker(官网),物理机配置好显卡驱动(即nvidia-smi有gpu显卡信息输出)

按照如下步骤安装,就可以直接以nvidia形式运行docker镜像。

docker run -it image_name    <=>   docker run -it --gpus all image_name

按照如下步骤进行:

# 安装nvidia-container-runtime,默认安装位置:/usr/bin/
sudo apt-get install nvidia-container-runtime
# 修改 /etc/docker/daemon.json,配置默认nvidia运行
sudo vim /etc/docker/daemon.json 
# 在daemon.json文件中添加如下内容,如下示意图
{
"default-runtime": "nvidia"
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
# 重启docker服务即可生效
Sudo systemctl daemon-reload
Sudo systemctl restart docker

结果如下图:

docker19.03+调用宿主机nvidia显卡,配置默认runtime=nvidia_第1张图片

你可能感兴趣的:(运维相关,随笔)