Windows 환경에서 Docker Desktop과 WSL2를 함께 사용하는 경우,
구조를 정확히 이해하면 Docker 동작 원리가 훨씬 명확해집니다.
핵심은 다음입니다.
Docker Desktop이 관리 주체이고,
Docker Engine은 WSL2 내부에서 실행됩니다
1. 전체 구조
현재 구조는 다음과 같습니다.
Windows
└─ Docker Desktop (관리/설정/GUI)
↓
WSL2 VM
└─ docker-desktop (Docker Engine 실행)
↓
Ubuntu WSL (CLI 사용 환경)
2. 각 구성 요소의 역할
1) Docker Desktop (Windows)
- Docker Engine 포함 설치
- 리소스(CPU, 메모리) 관리
- 네트워크 설정
- WSL 통합 옵션 제공
- 업데이트 관리
즉,
Docker의 설치와 관리를 담당하는 주체
2) docker-desktop (WSL2 내부)
- 실제 Docker Engine 실행
- 컨테이너 생성/삭제
- 이미지 관리
- 네트워크/볼륨 처리
즉,
컨테이너가 실제로 동작하는 공간
3) Ubuntu WSL
- 개발용 Linux CLI 환경
- docker 명령 실행
- 코드 작성 및 테스트
하지만 Docker Engine이 직접 설치된 것은 아니며,
Docker Desktop이 제공하는 엔진과 통신하는 구조입니다.
3. 정리
- Docker Desktop 설치 = Docker Engine 포함
- Engine은 Windows가 아니라 WSL2 내부에서 실행
- Ubuntu WSL은 CLI 환경
- WSL integration 옵션이 Ubuntu와 Docker Engine을 연결
Windows에서는 Docker Desktop이 관리하고, 실제 Docker Engine은 WSL2 내부에서 실행되며, Ubuntu WSL은 이를 사용하는 CLI 환경입니다.
Docker Engine은 Docker Desktop에 포함되어 설치되며, 실제 실행은 WSL2 내부에서 이루어지고, 설치·설정·리소스 관리는 Docker Desktop이 담당합니다
* WSL2: Windows가 제공하는 “리눅스 실행 플랫폼(기반 기술)”입니다.
* Ubuntu WSL: WSL2 위에서 실행되는 “리눅스 배포판”입니다.
WSL2
├─ Ubuntu
├─ docker-desktop
└─ 다른 리눅스 배포판들
'컨테이너·워크플로우 자동화 > DocKer 기본 및 활용' 카테고리의 다른 글
| Docker 빌드 최적화를 위한 .dockerignore 활용 전략 (0) | 2026.02.17 |
|---|---|
| Docker COPY 명령어의 동작 원리와 빌드 컨텍스트 이해 (0) | 2026.02.17 |
| Docker 로그 구조 이해: json-file부터 중앙 수집 시스템까지 (0) | 2026.02.17 |
| Docker에서 포트 바인딩과 포트 포워딩의 차이 (0) | 2026.02.17 |
| Docker 컨테이너 통신에서 IP 대신 DNS를 사용해야 하는 이유 (0) | 2026.02.16 |