2021.11.10更新说明:更新了镜像载入和容器创建的部分,增加了容器创建的参数说明

1.卸载docker

参考这篇:
https://cloud.tencent.com/developer/article/1541011
查询相关软件包:

dpkg -l | grep docker

对查询到的结果逐一卸载:

sudo apt remove --purge 查询到的与docker相关的包

然后需要autoremove一次:

sudo apt autoremove

2.nvidia-docker安装

参考NVIDIA官网给出的安装教程:
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
安装docker,并启动docker服务:

curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

引入nvidia-docker源:

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 update

安装nvidia-docker,重启docker服务:

sudo apt-get install nvidia-docker2
sudo systemctl restart docker

3.镜像载入

用以下指令载入一个镜像:

sudo docker pull nvidia/cuda:10.0-base nvidia-smi

如果出现下图,则nvidia-docker安装成功:
在这里插入图片描述
这里需要注意的是,要载入我们需要的cuda版本。
我们可以载入多个版本的镜像,用以下指令查看镜像:

sudo docker image ls

在这里插入图片描述
上图是我安装的两个不同cuda版本的镜像。
用以下指令创建容器:

# 基于cuda10.0的镜像创建一个名为Shrimp_ball的容器
sudo docker run -idt --name Shrimp_ball --gpus all --shm-size 16G nvidia/cuda:10.0-base

这里有三个重要的参数:
–name: 容器的名称
–gpus: gpu编号,可以通过nvidia-smi查询,不启用gpu可以不写该参数,启用所有gpu可以用all
–shm-size: 共享内存的大小,即为容器中内存的大小,可按照自己的需求进行调节

可以用以下指令查看已经建立的容器:

sudo docker ps -a

在这里插入图片描述
通过以下指令可以开启和进入容器:

sudo nvidia-docker start Shrimp_ball
sudo nvidia-docker attach Shrimp_ball

这样就可以在容器中操作了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐