前言
为什么要NVIDIA Container Toolkit?为什么不从pull语句获取带有Nidia的镜像。这里提醒的是,用NVIDIA Container Toolkit本身就是Nidia的镜像生成器,可以生成任意版本的nvidia镜像。
1 安装前的准备
第一步:移除所有的Docker资源
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
第二步:清除所有之前安装的NVIDIA-Docker
sudo apt-get purge -y nvidia-docker
2 安装Docker
第一步:更新当前源,更新所需依赖
#更新源
sudo apt update
#下载所需要的依赖
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
第二步:安装Docker
#阿里云的Docker
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
#添加到仓库
sudo add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
第三步:安装Docker-ce,以及客户端
#再更新
sudo apt update
#安装docker-ce
sudo apt install docker-ce
sudo apt install docker-ce-cli
第四步:添加用户名到组(注销生效)
#将"your-username"替换为系统的用户名
sudo usermod -aG docker your-username
3 安装NVIDIA Container Toolkit
第一步:设置变量,获取公钥及软件列表
#设置变量
>distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
#安装公钥
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
#获取list
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 update
#安装nvidia-container-toolkit
sudo apt install nvidia-container-toolkit
#重启
sudo systemctl restart docker
第三步:测试
注意上面只是安装了一个NVIDIA Container Toolkit生成器,如果希望生成各种版本的cuda镜像,需要下面语句:
#Test NVIDIA Container Toolkit
docker run --gpus all --rm nvidia/cuda:9.0-base nvidia-smi
或 docker run --gpus all --rm nvidia/cuda:11.0-base nvidia-smi也生成相应的11.0镜像。
第四步:检查images
docker images
可以看到生成的镜像。
第五步 生成容器
docker run -it 0bedd0dfd4cb bash
第六步 启动容器
docker start bbf9e26f566d
4 关于如何删除容器和镜像
停止所有的容器
docker stop $(docker ps -a -q)
删除所有容器
docker rm $(docker ps -a -q)
删除所有镜像
docker rmi $(docker images -q)