如何安装Linux系统上的Docker和Nvidia Container Toolkit?

摘要:作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 我们接下来在Ubuntu中安装Docker(安装详见:Get Docker | Docker Docs)及NVIDIA Container Toolki
作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 我们接下来在Ubuntu中安装Docker(安装详见:Get Docker | Docker Docs)及NVIDIA Container Toolkit(安装详见:Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.17.3 documentation),接着我将从头带着大家走一遍这个过程,首先便是安装Docker,我们先卸载系统默认安装的docker并安装一些必要支持: #如果有便删,报错说没有那就无所谓不用管 sudo apt-get remove docker docker-engine docker.io containerd runc #下载必要依赖 sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release 我们默认大家不会使用代理,因此我们所有的源均使用国内源,我们添加阿里的GPG KEY以及阿里的APT源后便可以直接APT安装Docker的最新版本啦 # step 1 添加阿里GPG Key curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # step 2 添加阿里Docker APT源 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # step 3 Update sudo apt update sudo apt-get update # step 4 下载Docker sudo apt install docker-ce docker-ce-cli containerd.io # step 5 验证Docker安装 sudo docker version #查看Docker版本 sudo systemctl status docker #验证Docker运行状态 如果验证Docker安装均有输出且正常运行那么便代表我们的Docker安装完成啦,接着我们将无root权限的用户添加到Docker用户组中,这样我们便可以让当前用户在不切root,或者不加sudo 的情况下正常使用 docker 命令: sudo groupadd docker sudo gpasswd -a ${USER} docker sudo service docker restart 但是到这里还没有结束,因为大概率大家运行docker run hello-world是会一直报如下网络错误: 这是因为国内暂时无法直接访问Docker源镜像,我们需要使用第三方Docker源,我在这里帮大家已经整理好了一些常见的Docker源,大家只需要添加进/etc/docker/daemon.json文件即可: # step 1 创建 or 编辑 /etc/docker/daemon.json sudo nano /etc/docker/daemon.json # step 2 复制粘贴进入文件 { "registry-mirrors": [ "https://dockerproxy.com", "https://docker.m.daocloud.io", "https://cr.console.aliyun.com", "https://ccr.ccs.tencentyun.com", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://github.com/ustclug/mirrorrequest", "https://registry.docker-cn.com" ] } # step 3 重载配置文件,并重启 docker sudo systemctl daemon-reload sudo systemctl restart docker # step 4 查看Docker配置检查是否配置成功 sudo docker info 可以看到运行了docker info命令后终端输出了我们之前添加进去的docker源地址,这时候我们再次运行docker run hello-world便可以看到docker成功下载了对应的镜像并打印输出了“Hello from Docker!” 安装完docker,接着我们来安装NVIDIA Container Toolkit (电脑没有GPU或者是使用的VM等虚拟机的同学可以跳过这一步了,由于你们无法访问到GPU所以这步不需要安装),这个工具链组件是一个Nvidia提供的一组工具,安装了之后我们便可以在Docker中使用GPU并能够支持 GPU 加速,由于Nvidia的文档写的非常的详细,因此我们按照英伟达文档中的步骤来安装配置 类似于之前的Docker,我们需要添加Nvidia官方的源,添加了之后我们便可以直接使用APT安装啦 # step 1 配置生产存储库 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://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list # step 2 Update sudo apt-get update # step 3 使用APT安装 sudo apt-get install -y nvidia-container-toolkit #如果没有代理这部分耗时会比较久 接着我们开始为Docker配置NVIDIA Container Runtime,这部分很简单只需要两行命令即可: sudo nvidia-ctk runtime configure --runtime=docker #使用nvidia-ctk命令修改/etc/docker/daemon.json 文件 sudo systemctl restart docker #重启Docker守护进程 最后输入以下命令即可验证我们的配置是否成功,如果出现下图即代表Nvidia Container Toolkit安装完成啦!!! sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi