Linux

docker支持cuda

如何在 docker 容器中使用 cuda

首先需要在宿主机安装 nvidia-docker2

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

Installation Guide

需要在 docker 配置文件 / etc/docker/daemon.json 中增加以下内容

    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }

注意在启动容器的时候要加上 --gpus 选项,否则检测不到 gpu

docker run --gpus all -it IMAGE

How to get Docker to recognize NVIDIA drivers?

安装好以后应该可以在容器中使用

nvidia-smi

看到宿主机的 cuda 和 driver 版本。

此时就可以正常运行安装了 cuda 应用的容器了,例如 gpu 版到 torch 和 tf。

留言