Windows Docker 및 이전 버전의 재설치 방법 강제 제거

3622 단어 Docker

개요


최신 버전을 사용하려는 욕망에 사로잡힌 Windows Docker v17.062-ce v17.09.0-ce 업데이트 후 일반 재부팅 불가 상태 Orz
그리고 여느 때와 마찬가지로 리셋을 했지만 효과가 없었다!!
오류 로그를 보고도 잘 몰라서, Docker를 마운트 해제하기로 결심했습니다.
마운트 해제 중 응답이 없고 마운트 해제도 불가능...사방팔방 막힘
각종 조사의 결과로 강제 하역하는 방법이 있기 때문에 소개해 드리려고 합니다.
또 구버전의 설치 프로그램의 다운로드 방법을 소개하고 싶습니다.(레코드용)

강제 제거 방법


  • 관리자 모드에서 Windows 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" }
    
    ※ 인용: https://success.docker.com/KBase/How_to_completely_remove_Docker
  • 프로그램 추가 및 제거에 Docker for Windows가 등록되어 있으므로 CCleaner 등의 도구로 제거
    ※ 일부 버전CCleaner에 악성 소프트웨어가 섞인 이벤트이 발생했습니다. 최신 버전
  • 은 피하거나 가져오지 마십시오.

    과거 Docker 설치 프로그램 다운로드 방법


    공식 사이트의 과거 버전의 설치 프로그램에서 업그레이드


    chocolatey에서 강등


  • chocolatey 업로드된 설치 스크립트에 포함된 URL 가져오기
  • 버전 기록에서 대상 버전 선택

  • 설치 스크립트(Show 클릭)에 포함된 설치 프로그램 URL에서 다운로드

  • 다운로드를 수행하는 설치기
  • 좋은 웹페이지 즐겨찾기