1.实现脚本
##zhq.sh #! /bin/bash echo -e '\033[31m 关掉docker进程...\033[0m' sudo docker stop $(sudo docker ps -a -q) # echo -e '\033[31m 删除原容器镜像环境...\033[0m' # sudo docker rm $(sudo docker ps -a -q) # sudo docker rmi $(sudo docker images -q) # echo -e '\033[31m 卸载原docker...\033[0m' # sudo apt-get purge docker-ce # # sudo rm -rf /etc/docker # sudo rm -rf /run/docker # sudo rm -rf /var/lib/docker sleep 3 echo -e '\033[31m 开始安装docker2...\033[0m' echo -e '\033[31m 删除原容器镜像环境...\033[0m' sudo docker rm $(sudo docker ps -a -q) sudo docker rmi $(sudo docker images -q) echo -e '\033[31m 卸载原docker...\033[0m' sudo apt-get purge docker-ce sudo apt remove --purge docker-ce docker-ce-cli docker-ce-rootless-extras nvidia-docker2 sudo rm -rf /etc/docker sudo rm -rf /run/docker sudo rm -rf /var/lib/docker sleep 3 echo -e '\033[31m 开始安装docker2...\033[0m' echo -e '\033[31m 1.安装gpgkey \033[0m' sudo apt-get install -y curl curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - wget https://download.docker.com/linux/ubuntu/gpg sudo apt-key add gp curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update echo -e '\033[31m 2.安装nvidia-container-runtime \033[0m' curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list sudo apt-get update sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-runtime.list sudo apt-get update sudo apt-get install nvidia-container-runtime echo -e '\033[31m 3.安装nvidia-docker2软件包并重新加载docker守护程序配置\033[0m' sudo apt-get install nvidia-docker2 sudo pkill -SIGHUP dockerd echo -e '\033[31m 4.注册nvidia-docker\033[0m' # Systemd drop-in file sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF [Service] ExecStart= ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime EOF sudo systemctl daemon-reload sudo systemctl restart docker # Daemon configuration file sudo tee /etc/docker/daemon.json <<EOF { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } } EOF sudo pkill -SIGHUP dockerd echo -e '\033[31m 4.测试安装\033[0m' # sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi sudo nvidia-docker run --rm nvidia/cuda:11.0-devel nvidia-smi echo -e '\033[31m 重启机器...\033[0m' sudo reboot
参考文献:https://www.cnblogs.com/jimchen1218/p/14186262.html
https://blog.csdn.net/weixin_32820767/article/details/80538510
执行方式:yes | ./zhq.sh