Windows Server 에서 Windows 컨테이너를 돌리는 호스트를 만드는 절차다. 리눅스 컨테이너를 Windows 데스크톱에서 쓰는 것은 Docker on Windows 를 볼 것.
Windows 컨테이너 런타임 지원은 Mirantis 로 넘어갔고, Microsoft 는 Docker CE(Moby) · Mirantis Container Runtime · containerd 세 가지를 지원 런타임으로 안내한다. 예전에 쓰던 DockerMsftProvider PowerShell 모듈 방식은 문서에서 빠졌다[1].
Microsoft 가 제공하는 install-docker-ce.ps1 이 Containers 기능을 켜고 Docker 런타임을 설치한다. 실행 중 재시작이 한 번 들어간다.
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
.\install-docker-ce.ps1
Docker 대신 containerd 와 nerdctl 을 쓸 때는 다음 스크립트를 쓴다. Windows CNI 플러그인까지 함께 들어가지만 네트워크 설정은 직접 해야 한다.
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-ContainerdRuntime/install-containerd-runtime.ps1" -o install-containerd-runtime.ps1
.\install-containerd-runtime.ps1
Windows Admin Center 의 Containers 확장에서 [Install] 을 누르면 같은 작업을 GUI 로 한다.
docker version
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd /c echo hello
이미지 태그의 OS 버전은 호스트 OS 버전과 맞아야 한다. Windows Server 2025 호스트면 ltsc2025 태그를 쓴다.
위 버전과 저장소는 오래된 것이라 저장소가 존재하지 않을 수 있다.
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Restart-Computer -Force