sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
extra_vars6 |
copilot(bing) 에게 두번 같은 질문을 해보았는데 매번 답변이 달라진다. (번복이 아니라 요약 방식이나 추가 내용이 다르다)
그래서 두개의 답변을 정리해보았다.
1. Hyper-V에서 Docker
- Hyper-V는 Windows Pro 이상의 버전에서만 작동하며, 전체 가상화를 제공한다.
- Hyper-V 는 전용 커널을 사용하여 Docker Desktop Linux VM 을 실행하며, 이는 Docker Desktop만이 제어 가능하다.
- Hyper-V 는 Linux 컨테이너와 Windows 컨테이너를 모두 사용 가능하다.
- Docker Desktop의 다음과 같은 추가 기능을 제공한다.
- 대시보드
- Kubernetes 클러스터 및 1-click 설정
- 자동 업데이트
- Dev Environments
- 투명한 HTTP 프록시 구성
- Windows에서 데몬에 대한 액세스
- Windows 파일의 투명한 바인드 마운트
2. WSL 2에서 Docker
- WSL 2는 Windows Home 버전에서도 작동하며, 리눅스 커널을 사용하여 리눅스 환경을 제공한다.
- Docker Desktop이 WSL 2를 사용하여 Docker를 설치하고 실행할 수 있다.
- WSL 2는 Linux 컨테이너만 사용 가능하다. (Windows 컨테이너 사용 불가)
- Docker Desktop 을 통해 Docker Engine 을 설치해야만 Docker Desktop Linux VM의 커널을 공유 할 수 있다.
- 이때, 다른 WSL 2 배포판(WSL 2 distro)가 공유된 커널 설정을 수정 가능하다. - Docker Desktop 을 사용하지 않고도 WSL 2 배포판(WSL 2 distro) 내에서 Docker Engine 을 설치하고 사용 가능하다.
- Windows 와 Linux 간의 시스템 호출 호환성을 통해 Docker Engine 을 직접 실행한다.
- 메모리 소비가 줄어들고 성능이 향상된다.
- 하지만 Docker 를 Windows에서 직접 액세스할 수 없다.
3. Docker Toolbox
- VirtualBox VM 을 사용하여 Docker 를 실행하는 방법이다.
- 설치가 쉽고 다양한 운영 체제에서 사용 가능하다. (Windows, macOS 및 Linux)
- Windows 사용자가 macOS 또는 Linux에서 Docker를 실행하는 방법을 배우지 않고도 손쉽게 Docker를 사용 가능하다.
- 가상 머신에서 Docker Engine을 실행하므로 물리적 하드웨어의 성능을 공유하기 때문에 Docker 컨테이너의 성능이 저하된다.
- Docker Toolbox는 여러 구성 요소로 구성되는데, 이러한 구성 요소를 관리하는 것은 복잡하므로 관리 효율성이 떨어진다.
- Docker Toolbox는 Docker의 공식 지원을 받지 않는다, 따라서 문제가 발생하면 Docker Toolbox 커뮤니티에서 지원을 받아야 한다.
[결론]
Docker Desktop의 추가 기능이 필요하다면 Hyper-V를 사용하는 것이 좋다. (WSL은 윈도우 컨테이너를 지원하지 않는다)
반면, 성능과 효율성이 중요하다면 WSL 2를 사용하는 것이 좋다. (대신 리눅스 컨테이너만 지원한다)
그리고 다양한 운영 체제에서 Docker를 사용해야 하거나 설치가 쉽고 사용하기 쉬운 Docker 솔루션을 찾고 있다면 Docker Toolbox가 좋은 선택이 될 수 있다.
하지만 관리가 복잡하지 않은 Docker 솔루션을 찾고 있다면 Docker Desktop 또는 Docker Cloud와 같은 다른 옵션을 고려하는 것이 좋다.