MSI 설치 프로그램

MSI 설치 프로그램 (MSI installer)

Windows용 Docker Desktop을 MSI 패키지로 대량·정책 기반 설치하고, 구성 옵션과 제거 방법을 배워볼게요.

출처: 문서

본문

구독: Business 대상: 관리자

MSI 패키지는 다양한 MDM(모바일 기기 관리) 솔루션을 지원해 대량 설치에 이상적이며, 개별 사용자가 수동으로 설정할 필요를 없애줘요. 이 패키지를 사용하면 IT 관리자가 표준화되고 정책 기반인 Docker Desktop 설치를 보장해 조직 전반의 효율성과 소프트웨어 관리를 높일 수 있어요.

대화형 설치 (Install interactively)

  1. Docker Home 에서 조직을 선택해요.
  2. Docker Desktop , 다음 Deploy 를 선택해요.
  3. Windows OS 탭에서 Download MSI installer 버튼을 선택해요.
  4. 다운로드 후 Docker Desktop Installer.msi 를 더블 클릭해 설치 프로그램을 실행해요.
  5. 라이선스 계약에 동의한 후 설치 위치를 선택해요. 기본적으로 Docker Desktop은 C:\Program Files\Docker\Docker(전체 사용자 설치) 또는 %LOCALAPPDATA%\Programs\DockerDesktop(사용자별 설치)에 설치돼요.
  6. Docker Desktop 설치를 구성해요. 다음을 할 수 있어요:
    • 바탕 화면 바로가기 만들기
    • Docker Desktop 서비스 시작 유형을 자동으로 설정
    • Windows Container 사용 비활성화
    • Docker Desktop 백엔드 선택: WSL 또는 Hyper-V. 시스템이 하나만 지원한다면 선택할 수 없어요.
  7. 설치 마법사의 지침에 따라 설치 프로그램을 승인하고 설치를 진행해요.
  8. 설치가 성공하면 Finish 를 선택해 설치 과정을 완료해요.

관리자 계정이 사용자 계정과 다르다면, Hyper-V VM을 만들고 관리하거나 Windows 컨테이너를 사용하는 것처럼 더 높은 권한이 필요한 기능에 접근하려면 docker-users 그룹에 사용자를 추가해야 해요:

  1. Computer Management 를 관리자로 실행해요.
  2. Local Users and Groups > Groups > docker-users 로 이동해요.
  3. 마우스 오른쪽 버튼을 클릭해 사용자를 그룹에 추가해요.
  4. 변경 사항이 적용되도록 로그아웃했다가 다시 로그인해요.

참고: MSI로 Docker Desktop을 설치하면 앱 내(in-app) 업데이트가 기본적으로 자동 비활성화돼요. 이는 조직이 버전 일관성을 유지하고 승인되지 않은 업데이트를 방지할 수 있도록 하기 위함이에요. Docker Desktop 4.60부터 MSI 설치의 앱 내 업데이트는 Settings Management 를 통해 disableUpdate 설정을 false로 변경해 활성화할 수 있어요. Docker Desktop은 업데이트가 있으면 알려줘요. 업데이트하려면 Docker Home에서 최신 설치 프로그램을 다운로드하고 Deploy 페이지로 이동해요. 새 릴리스를 따라잡으려면 release notes 페이지를 확인해요.

명령줄에서 설치 (Install from the command line)

이 섹션은 PowerShell을 사용한 Docker Desktop 명령줄 설치를 다룹니다. 실행할 수 있는 일반적인 설치 명령을 제공하고, configuration options 에 설명된 추가 인자를 더할 수도 있어요.

Docker Desktop을 설치할 때 대화형 또는 비대화형 설치 중 선택할 수 있어요. /quiet 또는 /qn을 지정하지 않는 대화형 설치는 사용자 인터페이스를 표시하고 속성을 직접 선택하게 해줘요. 사용자 인터페이스를 통한 설치에서는 다음을 할 수 있어요:

  • 대상 폴더 선택
  • 바탕 화면 바로가기 만들기
  • Docker Desktop 서비스 시작 유형 구성
  • Windows Containers 비활성화
  • WSL 또는 Hyper-V 엔진 선택

비대화형 설치(setting)는 자동(quiet)이며 추가 구성은 모두 인자로 전달해야 해요.

일반적인 설치 명령

다음 명령을 실행하려면 관리자 권한이 필요해요.

  • 상세 로깅과 함께 대화형 설치:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log"
  • 상세 로깅 없이 대화형 설치:
msiexec /i "DockerDesktop.msi"
  • 상세 로깅과 함께 비대화형 설치:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet
  • 비대화형 설치 및 재부팅 억제:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart
  • 관리자 설정과 함께 비대화형 설치:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart ADMINSETTINGS="{\"configurationFileVersion\":2,\"enhancedContainerIsolation\":{\"value\":true,\"locked\":false}}" ALLOWEDORG="your-organization"
  • 관리자 권한 없이 Windows 컨테이너로 전환하도록 허용하며 대화형 설치:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart ALLOWEDORG="your-organization" ALWAYSRUNSERVICE=1
  • PAC 파일을 지정하며 대화형 설치:
PowerShell msiexec --% /i "DockerDesktop.msi" /L*V ".\msi.log" PROXYHTTPMODE="manual" OVERRIDEPROXYPAC="http://localhost:8080/myproxy.pac"
  • PAC 스크립트를 지정하며 대화형 설치:
PowerShell msiexec --% /i "DockerDesktop.msi" /L*V ".\msi.log" PROXYHTTPMODE="manual" OVERRIDEPROXYEMBEDDEDPAC="function FindProxyForURL(url,host) {return \"DIRECT\"; }"
  • 수동(passive) 표시 옵션으로 설치: 비대화형 설치를 수행하면서 진행 대화 상자를 표시하려면 /quiet 대신 /passive 표시 옵션을 사용할 수 있어요. 수동 모드에서 설치 프로그램은 사용자에게 프롬프트나 오류 메시지를 표시하지 않으며 설치를 취소할 수 없어요. 예:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /passive /norestart

팁: JSON 문자열을 기대하는 값을 만들 때: 속성은 JSON 형식 문자열을 기대하며, 문자열은 큰따옴표로 감싸야 하고 공백을 포함하지 않아야 해요. 속성 이름은 큰따옴표로 쓰는 것이 기대돼요.

일반적인 제거 명령

Docker Desktop을 제거할 때 애플리케이션을 설치할 때 사용한 동일한 .msi 파일을 사용해야 해요. 원본 .msi 파일이 더 없다면 설치와 연결된 프로덕트 코드(product code)를 사용해야 해요. 프로덕트 코드를 찾으려면 다음을 실행해요:

Get-WmiObject Win32_Product | Select-Object IdentifyingNumber, Name | Where-Object { $_.Name -eq "Docker Desktop" }

다음과 유사한 출력이 반환돼야 해요:

IdentifyingNumber                           Name
-------------                               ----
{10FC87E2-9145-4D7D-B493-2E99E8D8E103}      Docker Desktop

참고: 설치된 애플리케이션 수에 따라 이 명령은 시간이 걸릴 수 있어요. IdentifyingNumber가 애플리케이션의 프로덕트 코드이며 Docker Desktop 제거에 사용할 수 있어요. 예:

msiexec /x {10FC87E2-9145-4D7D-B493-2E99E8D8E103} /L*V ".\msi.log" /quiet
  • 상세 로깅과 함께 대화형 제거:
msiexec /x "DockerDesktop.msi" /L*V ".\msi.log"
  • 상세 로깅 없이 대화형 제거:
msiexec /x "DockerDesktop.msi"
  • 상세 로깅과 함께 비대화형 제거:
msiexec /x "DockerDesktop.msi" /L*V ".\msi.log" /quiet
  • 상세 로깅 없이 비대화형 제거:
msiexec /x "DockerDesktop.msi" /quiet

구성 옵션 (Configuration options)

다음 사용자 지정 속성 외에도 Docker Desktop MSI 설치 프로그램은 표준 Windows Installer 명령줄 옵션 도 지원해요.

속성 설명 기본값
ENABLEDESKTOPSHORTCUT 바탕 화면 바로가기를 만듭니다. 1
INSTALLFOLDER Docker Desktop이 설치될 사용자 지정 위치를 지정합니다. C:\Program Files\Docker
ADMINSETTINGS 조직 내 클라이언트 머신에서 특정 Docker Desktop 설정을 제어하는 데 사용되는 admin-settings.json 파일을 자동으로 만듭니다. ALLOWEDORG 속성과 함께 사용해야 합니다. 없음
ALLOWEDORG 애플리케이션 실행 시 사용자가 로그인하고 지정된 Docker Hub 조직의 구성원이 되도록 요구합니다. 이는 HKLM\Software\Policies\Docker\Docker Desktop에 allowedOrgs라는 레지스트리 키를 만듭니다. 없음
ALWAYSRUNSERVICE 관리자 권한 없이 Windows 컨테이너로 전환할 수 있게 합니다. 0
DISABLEWINDOWSCONTAINERS Windows 컨테이너 통합을 비활성화합니다. 0
ENGINE 컨테이너를 실행하는 데 사용되는 Docker Engine을 설정합니다. wsl, hyperv, 또는 windows일 수 있습니다. wsl
PROXYENABLEKERBEROSNTLM 1로 설정하면 Kerberos 및 NTLM 프록시 인증 지원을 활성화합니다. 0
PROXYHTTPMODE HTTP 프록시 모드를 설정합니다. system 또는 manual일 수 있습니다. system
OVERRIDEPROXYHTTP 나가는 HTTP 요청에 사용해야 하는 HTTP 프록시의 URL을 설정합니다. 없음
OVERRIDEPROXYHTTPS 나가는 HTTPS 요청에 사용해야 하는 HTTP 프록시의 URL을 설정합니다. 없음
OVERRIDEPROXYEXCLUDE 호스트와 도메인에 대한 프록시 설정을 우회합니다. 쉼표로 구분된 목록을 사용합니다. 없음
OVERRIDEPROXYPAC PAC 파일 URL을 설정합니다. 이 설정은 수동 프록시 모드에서만 적용됩니다. 없음
OVERRIDEPROXYEMBEDDEDPAC 내장 PAC(Proxy Auto-config) 스크립트를 지정합니다. 이 설정은 수동 프록시 모드에서만 적용되며 OVERRIDEPROXYPAC 플래그보다 우선합니다. 없음
HYPERVDEFAULTDATAROOT Hyper-V VM 디스크의 기본 위치를 지정합니다. 없음
WINDOWSCONTAINERSDEFAULTDATAROOT Windows 컨테이너의 기본 위치를 지정합니다. 없음
WSLDEFAULTDATAROOT WSL 배포판 디스크의 기본 위치를 지정합니다. 없음
DISABLEANALYTICS 1로 설정하면 MSI에 대한 애널리틱스 수집을 비활성화합니다. 자세한 내용은 Analytics 문서를 참고하세요. 0
REMOVEEXISTINGINSTALL 1로 설정하면 기존 EXE 설치를 제거합니다. 기존 설정과 콘텐츠는 보존됩니다. Docker Desktop 4.61부터 사용 가능합니다. 1

또한 /norestart 또는 /forcerestart를 사용해 재부팅 동작을 제어할 수 있어요. 기본적으로 설치 프로그램은 성공적인 설치 후 머신을 재부팅하며, 자동(quiet) 실행 시 재부팅은 자동이고 사용자에게 프롬프트가 표시되지 않아요.

애널리틱스 (Analytics)

MSI 설치 프로그램은 설치에만 관련된 익명 사용 통계를 수집해요. 이는 사용자 행동을 더 잘 이해하고, 문제를 식별·해결하거나 인기 기능을 최적화해 사용자 경험을 개선하기 위한 것이에요.

거부 방법 (How to opt-out)

  • GUI에서: 기본 설치 프로그램 GUI로 Docker Desktop을 설치할 때 Welcome 대화 상자 왼쪽 아래 모서리의 Disable analytics 확인란을 선택해요.
  • 명령줄에서: 명령줄로 설치할 때 DISABLEANALYTICS 속성을 사용해요.
msiexec /i "win\msi\bin\en-US\DockerDesktop.msi" /L*V ".\msi.log" DISABLEANALYTICS=1

지속성 (Persistence)

설치에 대한 애널리틱스를 비활성화하기로 결정하면 해당 선택이 레지스트리에 유지되어 향후 업그레이드와 제거에서도 존중돼요. 그러나 Docker Desktop이 제거되면 키가 제거되므로 이전 방법 중 하나로 다시 구성해야 해요. 레지스트리 키는 다음과 같아요:

SOFTWARE\Docker Inc.\Docker Desktop\DisableMsiAnalytics

애널리틱스가 비활성화되면 이 키는 1로 설정돼요.

추가 자료 (Additional resources)

FAQs 를 살펴보세요.

더 알아보기 (Learn more)