가상 데스크톱 환경에서 Docker Desktop 실행하기

가상 데스크톱 환경에서 Docker Desktop 실행하기

Docker는 Mac, Linux, Windows에서 Docker Desktop을 네이티브로 실행하는 것을 권장해요. 하지만 Windows용 Docker Desktop은 가상 데스크톱이 제대로 구성되면 가상 데스크톱 안에서 실행될 수 있어요.

출처: Docker Desktop in virtualized environments

본문

가상 데스크톱 환경에서 Docker Desktop을 실행하려면 중첩 가상화(nested virtualization) 지원 여부에 따라 두 가지 옵션이 있어요.

  • 환경이 중첩 가상화를 지원하면 기본 로컬 Linux VM으로 Docker Desktop을 실행할 수 있어요.
  • 중첩 가상화를 지원하지 않으면 Docker는 Docker Offload를 구독해 사용하는 것을 권장해요.

Docker Offload 사용하기

Docker Offload는 컨테이너 워크로드를 고성능의 완전 호스팅 클라우드 환경으로 오프로드해서 매끄러운 하이브리드 경험을 가능하게 해줘요. 중첩 가상화가 지원되지 않는 가상 데스크톱 환경에서 유용해요. 이런 환경에서 Docker Desktop은 Docker Offload를 사용해 로컬 가상화에 의존하지 않고 컨테이너를 빌드하고 실행할 수 있게 해줘요.

Docker Offload는 Docker Desktop 클라이언트와 Docker Engine을 분리해서, Docker CLI와 Docker Desktop Dashboard가 클라우드 기반 리소스를 로컬인 것처럼 상호작용하게 해줘요. 컨테이너를 실행하면 Docker가 SSH 터널로 Docker Desktop에 연결된 안전하고 격리된 임시 클라우드 환경을 프로비저닝해요. 원격으로 실행되지만 바인드 마운트와 포트 포워딩 같은 기능이 계속 매끄럽게 동작해 로컬과 같은 경험을 제공해요.

중첩 가상화를 사용할 때 가상 데스크톱 지원

참고: 가상 데스크톱에서 Docker Desktop을 실행하는 지원은 Docker Business 고객에게 VMware ESXi 또는 Azure VM에서만 제공돼요.

Docker 지원은 중첩 가상화가 제대로 활성화되면 VM 안에서 Docker Desktop 설치와 실행을 포함해요. 성공적으로 테스트된 하이퍼바이저는 VMware ESXi와 Azure뿐이고, 다른 VM은 지원되지 않아요. Docker의 통제 밖에 있는 문제와 간헐적 실패는 하이퍼바이저 공급업체에 문의해야 해요. 각 공급업체가 다른 수준의 지원을 제공해요. 예를 들어 Microsoft는 일부 버전 제약과 함께 온프레미스와 Azure 모두에서 중첩 Hyper-V 실행을 지원해요. VMware ESXi는 그렇지 않을 수 있어요.

Docker는 VM 또는 VDI 환경의 같은 머신에서 Docker Desktop을 여러 개 실행하는 것을 지원하지 않아요.

: Citrix VDI 안에서 Docker Desktop을 실행한다면, Citrix는 VMware, Hyper-V, Citrix Hypervisor/XenServer 등 다양한 기본 하이퍼바이저와 함께 사용될 수 있다는 점을 참고하세요. Docker Desktop은 Citrix Hypervisor/XenServer가 지원하지 않는 중첩 가상화를 요구해요. 어느 하이퍼바이저가 사용되는지, 중첩 가상화가 활성화됐는지 Citrix 관리자나 VDI 인프라 팀에 확인하세요.

중첩 가상화 켜기

Docker Cloud를 사용하지 않을 가상 머신에 Docker Desktop을 설치하기 전에 중첩 가상화를 켜야 해요.

VMware ESXi에서 중첩 가상화 켜기: vSphere VM 안에서 Hyper-V 같은 다른 하이퍼바이저의 중첩 가상화는 지원되지 않는 시나리오예요. 하지만 VMware ESXi VM에서 Hyper-V VM을 실행하는 것은 기술적으로 가능하고, 버전에 따라 ESXi는 하드웨어 지원 가상화를 지원 기능으로 포함해요. 1 CPU 4코어, 12GB 메모리를 가진 VM이 내부 테스트에 사용됐어요. 하드웨어 지원 가상화를 게스트 OS에 노출하는 방법은 VMware 문서를 참고하세요.

Azure VM에서 중첩 가상화 켜기: 중첩 가상화는 Azure VM 안에서 Hyper-V를 실행하는 데 Microsoft가 지원해요. Azure 가상 머신은 선택한 VM 크기가 중첩 가상화를 지원하는지 확인해야 해요. Microsoft가 Azure VM 크기 목록을 제공하고 현재 중첩 가상화를 지원하는 크기를 강조해요. D4s_v5 머신이 내부 테스트에 사용됐어요. Docker Desktop 최적 성능을 위해 이 사양 이상을 사용하세요.

Nutanix 기반 VDI에서 Docker Desktop 지원

Docker Desktop은 기본 Windows 환경이 WSL 2나 Windows 컨테이너 모드를 지원한다면 Nutanix 기반 VDI 환경에서 사용할 수 있어요. Nutanix가 공식적으로 WSL 2를 지원하므로, VDI 환경에서 WSL 2가 제대로 동작하는 한 Docker Desktop은 예상대로 기능해야 해요. Windows 컨테이너 모드를 사용한다면 Nutanix 환경이 Hyper-V나 대체 Windows 컨테이너 백엔드를 지원하는지 확인하세요.

지원되는 구성

Docker Desktop은 앞서 설명한 VDI 지원 정의를 따릅니다.

  • 영구(Persistent) VDI(지원됨): 세션 간에 같은 가상 데스크톱 인스턴스를 받아 설치된 소프트웨어와 구성을 유지해요.
  • 비영구(Non-persistent) VDI(지원 안 됨): 세션 간에 OS가 리셋돼 매번 재설치나 재구성이 필요한 환경은 지원하지 않아요.

지원 범위와 책임

WSL 2 관련 문제는 Nutanix 지원에 문의하고, Docker Desktop 특정 문제는 Docker 지원에 문의하세요.

추가 리소스

  • Microsoft Dev Box에서 Docker Desktop

더 알아보기