Use nvidia card in docker
1.确保在宿主机上已经安装了nvidia 显卡的驱动
$ nvidia-smi
2.准备Nvidia-docker的环境
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
$ sudo apt update
$ sudo apt-get install -y nvidia-docker2
$ sudo systemctl restart docker
3.检查支持的cuda
$ sudo docker search cuda
4.启动nvidia-docker
官方的命令是:
$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
但我运行时提示找不到nvidia/cuda:11.0-base,有可能是没有科学上网的原因。
我使用的下面的命令:
$ sudo docker run --rm --gpus all rocker/cuda nvidia-smi
长时间下载安装,成功后提示:
开始接下来的表演吧。
$ sudo docker run -it --gpus all --name chatglm-1 rocker/cuda /bin/bash