시작: 컨테이너에 맞게 Windows 준비
적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10 및 11
이 자습서에서는 다음 작업 방법을 설명합니다.
필수 구성 요소
Windows 10 및 11
Windows 10 또는 11에서 컨테이너를 실행하려면 다음 항목이 필요합니다.
- 1주년 업데이트(버전 1607) 이상이 적용된 Windows 10 또는 11 Professional 또는 Enterprise를 실행하는 물리적 컴퓨터 시스템 1대.
- Hyper-V를 사용하도록 설정해야 합니다.
참고
Windows 10 2018년 10월 업데이트부터 Microsoft는 사용자가 개발 또는 테스트 목적으로 Windows 10 Enterprise 또는 Professional에서 프로세스 격리 모드로 Windows 컨테이너를 실행하는 것을 더 이상 허용하지 않습니다. 자세한 내용은 FAQ를 참조하세요.
프로덕션에 사용되는 동일한 커널 버전 및 구성을 개발자에게 제공하기 위해 Windows Server 컨테이너는 기본적으로 Windows 10 및 11에서 Hyper-V 격리를 사용합니다. Hyper-V 격리에 대한 자세한 내용은 격리 모드를 참조하세요.
Windows Server
개발 환경의 경우 Windows Server 컨테이너를 실행하려면 Windows Server를 실행하는 물리적 서버 또는 가상 머신이 필요합니다.
테스트를 위해 Window Server 2022 Evaluation 또는 Windows Server Insider Preview의 복사본을 다운로드할 수 있습니다.
Azure VM Container-Ready
많은 애플리케이션 및 오케스트레이션 패러다임의 경우 고유한 사용자 지정 VM을 빌드하고 배포해야 합니다. Windows Container Runtime에 대한 지원이 Mirantis로 전환 되면 컨테이너 런타임은 더 이상 마켓플레이스 VM 제품과 함께 제공되지 않습니다. 이 가이드의 나머지 부분에서는 컨테이너 런타임이 설치되어 있고 사용할 준비가 된 Azure용 VM을 빌드하는 방법을 자세히 설명합니다.
Azure는 클라우드와 온-프레미스 모두에서 Azure Kubernetes Service 통해 완전하고 완전하게 관리되는 엔드 투 엔드 환경을 계속 제공합니다. AKS 및 AKS-HCI는 사용자 지정 배포에 사용되는 것보다 관리 오버헤드가 낮은 완전 관리형 서비스입니다. 컨테이너 런타임에 대한 지원은 Azure 구독의 AKS 및 AKS-HCI 서비스 내에 포함됩니다.
다음 옵션을 고려할 때 유의해야 할 세 가지 사항이 있습니다. 최적화하려는 측면을 결정하는 것은 organization 입니다.
- 구현하는 것이 얼마나 복잡합니까?
- 비용은 얼마인가요?
- 프로덕션에서 내 워크로드에 어떤 영향을 주나요?
이러한 각 메서드는 컨테이너 준비 Azure VM을 최대한 원활하게 구성하는 환경을 만드는 옵션으로 제공됩니다. 다음 하위 섹션에서는 시작하는 방법과 함께 각 옵션의 장단점을 자세히 설명합니다.
Azure 이미지 작성기
Image Builder를 사용하는 이점은 구성이 빌드 시간 동안 수행되며 런타임에 워크로드에 영향을 주지 않는다는 것입니다. VM 확장 집합이 사용자 지정 이미지에서 새 VM을 인스턴스화하면 이미지가 이미 준비되었으므로 여기서 시간을 소비하지 않아야 하며 컨테이너를 즉시 실행할 준비가 됩니다.
그러나 Azure 이미지 작성기를 구현하는 것이 더 복잡할 수 있으며 스크립트 확장보다 더 많은 단계가 관련되어 있습니다. 또한 Image Builder 서비스는 무료이지만 빌드 프로세스와 연결된 컴퓨팅, 스토리지 및 네트워킹 사용량에 대해 관리해야 합니다( 여기에 추가 세부 정보).
사용자 고유의 Windows Server VM 이미지 빌드를 시작하기 위해 프로세스를 단계별로 자세히 알아보는 가이드를 만들었습니다. 아래에 언급된 powershell 스크립트를 이 가이드와 함께 활용하여 선택한 컨테이너 런타임을 설치할 수 있습니다.
팁
VM에서 로컬로 사용하려는 컨테이너 이미지를 캐시해야 합니다. 이렇게 하면 배포 후 컨테이너 시작 시간을 개선하는 데 도움이 됩니다. 아래 스크립트는 이 작업을 수행하는 데 도움이 됩니다.
사용자 지정 스크립트 확장
사용자 지정 스크립트 확장은 더 빠르게 구현할 수 있으며 비용은 Azure 또는 GitHub에 스크립트를 저장하는 명목상 가격에만 적용됩니다. 그러나 스크립트는 VM이 프로비전된 후에만 실행될 수 있으므로 스케일 아웃 시간에 VM을 제대로 준비하는 데 소요되는 추가 시간에 대한 예산을 책정해야 합니다.
아래에 제공된 스크립트를 사용하여 프로비전 시 선택한 컨테이너 런타임을 설치하도록 VM 확장 집합을 구성할 수 있습니다. 가이드에 따라 사용자 지정 스크립트 확장을 설정하는 방법을 알아봅니다.
컨테이너 런타임 설치
Windows 10 및 11
다음 단계에 따라 Windows 10 또는 11 Professional 및 Enterprise 버전에 Docker를 설치할 수 있습니다.
Docker Desktop을 다운로드하여 설치하고, 아직 Docker 계정이 없는 경우 하나 만듭니다. 개인 또는 소규모 비즈니스 사용자를 위한 무료 Docker 계정을 만들 수 있지만 대기업의 경우 월별 요금이 부과됩니다. 자세한 내용은 Docker 설명서를 참조하세요.
설치하는 동안 기본 컨테이너 유형을 Windows 컨테이너로 설정합니다. 설치가 완료된 후 유형을 전환하려면 Windows 시스템 트레이의 Docker 항목(아래 참조)을 사용하거나 PowerShell 프롬프트에서 다음 명령을 사용하면 됩니다.
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .
Windows Admin Center
Windows Admin Center를 사용하여 Windows Server 머신을 컨테이너 호스트로 올바르게 설정할 수 있습니다. 시작하려면 Windows Admin Center 인스턴스에 최신 컨테이너 확장이 설치되어 있는지 확인합니다. 확장을 설치하고 구성하는 방법에 대한 자세한 내용은 Windows Admin Center 설명서를 참조하세요. 컨테이너 확장이 설치된 상태에서 구성하려는 Windows Server 머신을 대상으로 하고 컨테이너 옵션을 선택합니다.
설치 단추를 클릭합니다. Windows Admin Center는 백그라운드에서 Windows Server 및 Docker의 구성을 시작합니다. 프로세스가 완료된 후 페이지를 새로 고치고 컨테이너 확장의 다른 기능을 볼 수 있습니다.
Windows Server
Windows 컨테이너를 실행하려면 컴퓨터에서 지원되는 컨테이너 런타임을 사용할 수 있어야 합니다. 현재 Windows에서 지원되는 런타임은 Containerd, Moby 및 Mirantis Container Runtime입니다.
이 섹션에서는 몇 단계 만에 각 런타임을 쉽게 설치할 수 있는 PowerShell 스크립트 집합을 포함하여 Windows의 특정 복사본에 각각을 설치하는 프로세스를 자세히 설명합니다.
Docker CE(Community Edition)는 공통 API 및 CLI(명령줄 인터페이스)를 사용하여 컨테이너에 대한 표준 런타임 환경을 제공합니다. Moby 프로젝트의 일부로 오픈 소스 커뮤니티에서 관리합니다.
Windows Server에서 Docker를 시작하기 위해 컨테이너 관련 OS 기능을 사용하도록 환경을 구성하고 Docker 런타임을 설치하는 PowerShell 스크립트 를 만들었습니다.
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
구성에 대한 자세한 내용은 Windows의 Docker 엔진을 참조하세요.
다음 단계
참고
이 가이드를 읽고 Windows 컨테이너 제품 팀의 추가 지침을 원하는 경우 github/Windows-Containers에서 제품 팀의 일정에서 채팅할 시간을 얻는 방법에 대한 정보를 찾을 수 있습니다.
이제 환경을 올바르게 구성했으므로 링크를 따라 컨테이너를 실행하는 방법을 알아보세요.