解决docker安装失败的问题
2022年7月5日大约 2 分钟
上一级页面:index-wsl
前言
先判断当前的Ubantu16.04系统中是否已经安装过curl和docker
# 查询是否安装过 curl
which curl
# 查询是否安装过 docker
which docker
如果有安装过如下图所示,没安装过则输入命令没有任何输出
完全卸载docker
建议在root用户下操作
su - root
# 1. 删除软件以及安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc -y
# 2. 查看docker中其他没有卸载的包
dpkg -l | grep docker
# 3. 卸载没有删除的docker相关插件
sudo apt remove --purge docker-ce -y
sudo apt-get autoremove docker-ce-* -y
# 删除无用的相关的配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
# 删除service
sudo rm -rf /etc/systemd/system/docker.service.d
# 4. 删除docker的相关配置&目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /var/run/docker*
# 5. 确认docker卸载完毕
docker --version
which docker
windows的卸载操作
首先运行docker卸载程序,发现卡住了,查询资料发现方案
powershell,管理员运行
$ErrorActionPreference = "SilentlyContinue"
kill -force -processname 'Docker for Windows', com.docker.db, vpnkit, com.docker.proxy, com.docker.9pdb, moby-diag-dl, dockerd
try {
./MobyLinux.ps1 -Destroy
} Catch {}
$service = Get-WmiObject -Class Win32_Service -Filter "Name='com.docker.service'"
if ($service) { $service.StopService() }
if ($service) { $service.Delete() }
Start-Sleep -s 5
Remove-Item -Recurse -Force "~/AppData/Local/Docker"
Remove-Item -Recurse -Force "~/AppData/Roaming/Docker"
if (Test-Path "C:\ProgramData\Docker") { takeown.exe /F "C:\ProgramData\Docker" /R /A /D Y }
if (Test-Path "C:\ProgramData\Docker") { icacls "C:\ProgramData\Docker\" /T /C /grant Administrators:F }
Remove-Item -Recurse -Force "C:\ProgramData\Docker"
Remove-Item -Recurse -Force "C:\Program Files\Docker"
Remove-Item -Recurse -Force "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Docker"
Remove-Item -Force "C:\Users\Public\Desktop\Docker for Windows.lnk"
Get-ChildItem HKLM:\software\microsoft\windows\currentversion\uninstall | % {Get-ItemProperty $_.PSPath} | ? { $_.DisplayName -eq "Docker" } | Remove-Item -Recurse -Force
Get-ChildItem HKLM:\software\classes\installer\products | % {Get-ItemProperty $_.pspath} | ? { $_.ProductName -eq "Docker" } | Remove-Item -Recurse -Force
Get-Item 'HKLM:\software\Docker Inc.' | Remove-Item -Recurse -Force
Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\Run -name "Docker for Windows" | Remove-Item -Recurse -Force
#Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\UFH\SHC | ForEach-Object {Get-ItemProperty $_.PSPath} | Where-Object { $_.ToString().Contains("Docker for Windows.exe") } | Remove-Item -Recurse -Force $_.PSPath
#Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\UFH\SHC | Where-Object { $(Get-ItemPropertyValue $_) -Contains "Docker" }
安装docker
参考、引用、致谢
Ubuntu16.04安装与彻底卸载docker(亲测有效)_Debug_轩的博客-CSDN博客_uos卸载docker