MSI 설치 프로그램
MSI 설치 프로그램 (MSI installer)
Windows용 Docker Desktop을 MSI 패키지로 대량·정책 기반 설치하고, 구성 옵션과 제거 방법을 배워볼게요.
출처: 문서
본문
구독: Business 대상: 관리자
MSI 패키지는 다양한 MDM(모바일 기기 관리) 솔루션을 지원해 대량 설치에 이상적이며, 개별 사용자가 수동으로 설정할 필요를 없애줘요. 이 패키지를 사용하면 IT 관리자가 표준화되고 정책 기반인 Docker Desktop 설치를 보장해 조직 전반의 효율성과 소프트웨어 관리를 높일 수 있어요.
대화형 설치 (Install interactively)
- Docker Home 에서 조직을 선택해요.
- Docker Desktop , 다음 Deploy 를 선택해요.
- Windows OS 탭에서 Download MSI installer 버튼을 선택해요.
- 다운로드 후 Docker Desktop Installer.msi 를 더블 클릭해 설치 프로그램을 실행해요.
- 라이선스 계약에 동의한 후 설치 위치를 선택해요. 기본적으로 Docker Desktop은
C:\Program Files\Docker\Docker(전체 사용자 설치) 또는%LOCALAPPDATA%\Programs\DockerDesktop(사용자별 설치)에 설치돼요. - Docker Desktop 설치를 구성해요. 다음을 할 수 있어요:
- 바탕 화면 바로가기 만들기
- Docker Desktop 서비스 시작 유형을 자동으로 설정
- Windows Container 사용 비활성화
- Docker Desktop 백엔드 선택: WSL 또는 Hyper-V. 시스템이 하나만 지원한다면 선택할 수 없어요.
- 설치 마법사의 지침에 따라 설치 프로그램을 승인하고 설치를 진행해요.
- 설치가 성공하면 Finish 를 선택해 설치 과정을 완료해요.
관리자 계정이 사용자 계정과 다르다면, Hyper-V VM을 만들고 관리하거나 Windows 컨테이너를 사용하는 것처럼 더 높은 권한이 필요한 기능에 접근하려면 docker-users 그룹에 사용자를 추가해야 해요:
- Computer Management 를 관리자로 실행해요.
- Local Users and Groups > Groups > docker-users 로 이동해요.
- 마우스 오른쪽 버튼을 클릭해 사용자를 그룹에 추가해요.
- 변경 사항이 적용되도록 로그아웃했다가 다시 로그인해요.
참고: 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 를 살펴보세요.