ubuntu如何完全干净的卸载docker
作者:Sunday_ding
这篇文章主要介绍了ubuntu如何完全干净的卸载docker问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
ubuntu完全干净的卸载docker
1. 删除某软件,及其安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
2. 删除docker其他没有没有卸载
dpkg -l | grep docker
3.卸载没有删除的docker相关插件(结合自己电脑的实际情况)
sudo apt-get autoremove docker-ce-*
4.删除docker的相关配置&目录
sudo rm -rf /etc/systemd/system/docker.service.d sudo rm -rf /var/lib/docker
5.确定docker卸载完毕
docker --version
ubuntu16.04离线安装与卸载docker和nvidia-docker问题
离线安装docker
项目上的服务器不能上网,因此需要离线配置docker和nvidia-docker
在一台有网的机器上,在链接中下载相应的文件
containerd.io_1.2.0-1_amd64.deb docker-ce-cli_18.09.1~3-0~ubuntu-xenial_amd64.deb docker-ce_18.09.1~3-0~ubuntu-xenial_amd64.deb
用下面的命令将三个包一起安装了
sudo dpkg -i containerd.io_1.2.0-1_amd64.deb docker-ce-cli_18.09.1~3-0~ubuntu-xenial_amd64.deb docker-ce_18.09.1~3-0~ubuntu-xenial_amd64.deb
离线安装nvidia-docker
如果已安装nvidia-docker1.0,需要卸载nvidia-docker 1.0
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge nvidia-docker
在一台有网的机器上配置apt源(注意有网的机器上的Ubuntu版本需要与离线安装的机器一致)
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
运行以下5个命令,下载5个包到当前目录,将这些包拷贝在离线服务器上
apt download libnvidia-container1 apt download libnvidia-container-tools apt download nvidia-container-toolkit apt download nvidia-container-runtime apt download nvidia-docker2
离线服务器上依次运行以下命令,顺序不能颠倒:
dpkg -i libnvidia-container1 dpkg -i libnvidia-container-tools dpkg -i nvidia-container-toolkit dpkg -i nvidia-container-runtime dpkg -i nvidia-docker2
运行:(机器上需要有nvidia驱动)
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
卸载docker
方法一
apt-get purge卸载命令需要逐条执行
sudo apt-get purge docker-ce sudo apt-get purge docker-ce-cli sudo apt-get purge containerd.io
查看是否卸载完毕
apt list --installed | grep docker apt list --installed | grep contain.io
删除残留文件
rm -rf /var/lib/docker rm -rf /var/run/docker rm -rf /etc/docker rm -rf /run/docker.sock rm -rf /var/lib/containerd rm -rf /run/containerd rm -rf /opt/containerd
在删除文件时可能会出现rm: cannot remove ‘/var/lib/docker/containers’: Device or resource busy
网络共享挂载的存储目录无法使用rm -rf清空,如果Linux确实需要删除本地挂载点,可以先卸载,然后删除本地的挂载点。
- 卸载:umount /var/lib/docker/containers
- 删除:rm -rf /var/lib/docker/
方法二
首先查看docker服务状态,并停止docker服务
systemctl stastus docker # 查看docker服务状态 systemctl stop docker # 关闭docker服务 systemctl disable docker # 关闭开机自启
查看源码安装方式的自启动服务文件:
ls /etc/systemd/system/docker.service
删除docker文件
cd /usr/bin/ ls -lrt docker* rm -rf docker*
按照方法一上面的方式删除docker残余文件
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。