ubuntu系统离线安装卸载docker

import os
import shutil
import tarfile
import subprocess
import io
 
scripts_dri = "/server/tools/"
#project_esl="/usr/local/esl"
 
if not  os.path.exists(scripts_dri):
     os.mkdir(scripts_dri)
 
base_dir=os.path.dirname(os.path.abspath(__file__))
pkg=os.path.join(base_dir,'pkg')
project_esl=os.path.abspath(os.path.join(os.getcwd(), ".."))
 
msg = '''
请输入您要执行的操作:“安装install or ins” 或者 “卸载 uninstall or uni”
 
Please enter the action you want to perform:"install" | "uninstall"
 
'''
 
 
class InstallDokcer:
    def install(self):
        try:
            load=os.system('dpkg -i pkg/libltdl7_2.4.6-0.1_amd64.deb pkg/docker-ce_18.06.3~ce~3-0~ubuntu_amd64.deb >>/dev/null')
            print()
            print("当前Dokcer版本:{}".format(os.popen('docker -v').readlines()))
            img_dir="/usr/local/esl/docker-images"
            docker_img=os.listdir(img_dir)
            print()
            for i in docker_img:
                if i.endswith('.gz'):
                    os.system('docker load -i %s/%s  >/dev/null 2>&1' %(img_dir,i))
                    print("import image>:{}".format(i))
            os.chdir(project_esl)
            print()
            os.system('./docker-compose up -d --build >>/dev/null 2>&1; docker ps')
             
        except:
            print("Failed")
 
 
class UninstallDokcer:
    def uninstall(self):
        try:
             print("Uninstall the docker service")
             os.chdir(project_esl)
             os.system('./docker-compose stop >>/dev/null 2>&1; systemctl stop docker')
             undocker=os.system("apt-get autoremove docker-ce-* -y >>/dev/null 2>&1")
             os.system('rm -rf /etc/default/docker /etc/default/docker; umount  /run/docker/netns/default; rm -rf /var/run/docker\
                    rm -rf /var/lib/docker\
                    rm -rf /etc/docker\
                    ')
             net_tool=os.popen("brctl show |awk 'NR>1{print $1}'").readlines()
             for i in net_tool:
                 down=os.system('ifconfig {} down'.format(i.strip()))
                 if down ==0:
                     os.system('brctl  delbr {}'.format(i.strip()))
        except:
            print("program exception.")
 
class Install(InstallDokcer, UninstallDokcer):
 
    def install_docker(self):
        print(msg)
        res = input("please enter>>:").strip()
        if res == "install" or res == "ins":
            obj.install()
        elif res == "uninstall" or res == "uni":
            obj.uninstall()
        else:
            print("install or uninstall")
            return
 
if __name__ == "__main__":
 
    obj = Install()
    obj.install_docker()

### 回答1: 要在Ubuntu 20中离线安装NVIDIA Docker,您需要进行以下步骤: 1. 首先,您需要下载NVIDIA Docker离线安装包。您可以在NVIDIA Docker的官方GitHub页面上找到不同版本的离线安装包。 2. 在下载完离线安装包后,将其解压缩到您选择的目录中。 3. 接下来,您需要安装Docker引擎。可以通过运行以下命令来完成安装: ``` $ sudo apt-get update $ sudo apt-get install docker.io ``` 4. 安装完成后,您可以运行以下命令来验证Docker引擎是否正确安装: ``` $ sudo systemctl status docker ``` 5. 确保NVIDIA驱动程序已经安装在您的系统中。您可以通过运行以下命令来检查: ``` $ nvidia-smi ``` 6. 接下来,您需要将NVIDIA Docker的可执行文件路径添加到系统的环境变量中。可以通过编辑~/.bashrc文件并在末尾添加以下行来实现: ``` $ export PATH=/path/to/nvidia-docker:$PATH ``` 7. 保存并关闭~/.bashrc文件后,运行以下命令以使其生效: ``` $ source ~/.bashrc ``` 8. 现在,您可以运行以下命令来测试NVIDIA Docker是否成功安装并正在运行: ``` $ nvidia-docker run --rm nvidia/cuda nvidia-smi ``` 如果您得到了有关NVIDIA GPU的信息,那么恭喜您成功地在Ubuntu 20上离线安装了NVIDIA Docker。现在您可以使用NVIDIA容器来运行GPU加速的Docker应用程序。 ### 回答2: 要在Ubuntu 20离线安装NVIDIA Docker,需要执行以下步骤: 1. 首先,确保你已经下载了NVIDIA Docker离线安装包以及相关的依赖文件,并将它们保存在一个可访问的位置。 2. 打开终端,切换到保存下载文件的目录。 3. 安装Docker Engine。运行以下命令: ``` sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.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 ``` 4. 安装NVIDIA runtime。运行以下命令: ``` curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 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-get update sudo apt-get install nvidia-docker2 sudo systemctl restart docker ``` 5. 验证安装是否成功。运行以下命令: ``` sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 以上就是在Ubuntu 20中离线安装NVIDIA Docker的简要步骤。确保按照步骤逐一执行,并根据你的实际情况进行相应的调整。 ### 回答3: 要在Ubuntu 20上离线安装NVIDIA Docker,需要按照以下步骤进行操作: 1. 首先,从NVIDIA官网下载适用于Ubuntu 20的NVIDIA Docker包,将其保存到一台可联网的机器上。 2. 在这台可联网的机器上,安装依赖软件包。打开终端,执行以下命令: ``` sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common ``` 3. 添加NVIDIA Docker的GPG密钥。执行以下命令: ``` curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` 4. 添加Docker存储库。执行以下命令: ``` sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" ``` 5. 重新更新一次软件包并安装Docker。执行以下命令: ``` sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io ``` 6. 使用Docker启用nvidia-runtime仓库。执行以下命令: ``` curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 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-get update ``` 7. 离线导入NVIDIA Docker的GPG密钥。将在第1步中下载的密钥文件拷贝到离线机器上,并使用以下命令导入密钥: ``` sudo apt-key add <path-to-key-file> ``` 8. 执行离线安装。执行以下命令: ``` sudo apt-get update sudo apt-get install -y nvidia-docker2 ``` 9. 配置Docker以使用NVIDIA Docker运行时。执行以下命令: ``` sudo systemctl restart docker ``` 至此,您已成功在Ubuntu 20上离线安装NVIDIA Docker,并可以使用Docker运行具有GPU支持的容器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值