docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > ubuntu完全干净的卸载docker

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相关插件(结合自己电脑的实际情况)

format,png

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确实需要删除本地挂载点,可以先卸载,然后删除本地的挂载点。

方法二

首先查看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残余文件 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文