nvidia-container-toolkit安装与配置
nvidia-container-toolkit是Docker与NVIDIA GPU之间的桥梁,也就是只有安装了nvidia-container-toolkit,Docker才能使用本机的GPU;
·
一、背景介绍
nvidia-container-toolkit是Docker与NVIDIA GPU之间的桥梁,也就是只有安装了nvidia-container-toolkit,Docker才能使用本机的GPU;
二、安装步骤
1、安装Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl restart docker
上面的步骤有些需要科学上网;
验证安装是否成功
sudo docker version
2、安装nvidia-container-toolkit
sudo apt-get update
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/stable/deb/nvidia-container-toolkit.list | \
sed 's#^deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
最后验证是否安装成功
nvidia-container-cli --version
重新启动一下docker
sudo systemctl restart docker
3、拉取Pytorch镜像
终端进入到自己项目的工作目录
通过PyTorch | NVIDIA NGC可以查看自己需要的镜像名字,并更改拉取的镜像名字
# $(pwd):/app 表示把当前host工作路径挂载到容器的/app目录下
# --name env_pyt_1.12 表示容器的名称是env_pyt_1.12
docker run --gpus all -it --name env_pyt_1.12 -v $(pwd):/app nvcr.io/nvidia/pytorch:22.03-py3
正常的话就已经进入到容器内的 shell 交互界面,然后验证容器内的环境是否可用
# 容器内部检查pytorch可用性
$ python
>>> import torch
>>> torch.__version__
>>> print(torch.cuda.is_available())
4、vscode插件
Vs code 提供的插件可以让我们访问容器内部:ms-vscode-remote.remote-containers
安装该插件后,在vscode的view下的Command Palette搜索container,选择containers: Attach to Running Container

这样就可以直接在容器内部操作;
更多推荐




所有评论(0)