[Docker] 윈도우에 Docker 설치(Home 포함)
[참고 사이트]
- 윈도우 Docker 설치 완벽 가이드(Home 포함)
1. Windows Home과 Pro에서 Docker 설치 차이 이해하기
먼저 Windows에서 Docker를 설치하기에 앞서서 본인이 사용중인 Windows가 어떤 에디션인지 확인할 필요가 있습니다.
① Windows + S를 입력하고, 검색 창에서 PC 정보를 검색합니다.

② 오른쪽의 정보 창에서 스크롤해서 내려가면 Windows 10 에디션을 확인할 수 있습니다. 예시의 이미지에서는 Windows 10 Pro를 사용중인 것을 알 수 있습니다.

Docker를 사용할 때 Windows Home Edition과 Windows Pro Edition의 가장 큰 차이는 Hyper-V 기능의 지원여부입니다.
Windows 10/11 Professional / Education / Enterprise 에디션
- WSL2 기반 Docker Engine 사용 가능
- Hyper-V 기반 Docker Engine 사용 가능
Windows 10/11 Home 에디션
- WSL2 기반 Docker Engine 사용 가능
Home 에디션의 경우 Docker를 사용하려면 WSL2가 필수이며, Pro 사용자의 경우 WSL2를 사용하지 않더라도 Hyper-V 기반 가상화를 사용해 Docker Engine을 사용하는 것이 가능합니다.
WSL2에 대한 자세한 설명은 '[윈도우즈/WSL] WSL(Windows Subsystem for Linux) 2 설치' 포스트를 참조하세요.
2. Docker Desktop 다운로드 및 설치 방법
① 다음 페이지로 이동해서 Download for Windows를 클릭해 Docker Desktop for Windows를 다운로드 받습니다.

② 다운로드 받은 Docker Desktop Installer.exe를 실행하면 사용자 계정 컨트롤이 나타납니다. 설치를 진행하려면 ’예’를 클릭합니다.

③ 안내에 따라 설치를 진행합니다. 설치 중간에 Configuration이 나타납니다. 체크하고 설치를 진행합니다(옵션은 바탕화면에 아이콘 추가할지 여부입니다).

④ Docker Desktop 설치가 진행됩니다. 몇 분 정도 시간이 걸리니 완료될 때까지 기다립니다.

⑤ 설치가 끝나면 Installation succeeded 메시지가 나타납니다. 시스템 상태에 따라서 재시작이나 로그아웃을 해야하는 경우도 있습니다. Close 버튼을 클릭해 인스톨러를 종료합니다.

⑥ 이제 바탕화면의 Docker Desktop 아이콘이나 Windows + S로 Docker를 검색해서 Docker Desktop을 실행할 수 있습니다. Docker Desktop을 실행합니다.

⑦ 시스템에 WSL2가 활성화되어있다면 Docker는 기본적으로 WSL2를 백엔드로 Docker Engine을 실행합니다. 초기 셋업에는 몇 분 정도의 시간이 걸립니다. 성공적으로 Docker가 실행되면 Tutorial이 나타납니다.

⑧ 이후 셋업이 완료되고, Docker Desktop을 실행하면 아래와 같은 창이 열리는데, 오른쪽 상단에 톱니바퀴 모양 환경설정을 클릭합니다
General 설정에서 Use the WSL 2 based engine에 체크가 되어있는지 확인합니다. 미리 체크가 되어있을 텐데, 안됐다면 체크하고 오른쪽 아래의 Apply & Restart 버튼을 클릭합니다.

⑨ 다음으로 Resource > WSL Integration 메뉴로 이동하여 Enable Integration with my default WSL distro에 체크되어있는지 확인하고 Apply & Restart 버튼을 클릭해주면 도커 엔진이 재실행됩니다.

3. Docker 설치 확인 및 간단한 nginx 서버 예제 실행해보기
여기서는 Windows Terminal을 열어서 정상 동작하는지 간단하게 테스트 해보겠습니다. PowerShell 탭을 하나 열고 wsl 명령어로 Docker 전용 머신이 실행중인 것을 확인할 수 있습니다.
NAME STATE VERSION
* Ubuntu_20.04.6_LTS Stopped 2
docker-desktop Running 2
docker-desktop-data Running 2
wsl로 docker-desktop 리눅스에 명령어를 실행해볼 수 있습니다.
docker-desktop은 BusyBox가 포함된 LinuxKit 기반의 경량 리눅스인 것을 확인해볼 수 있습니다.
BusyBox v1.36.1 (2023-11-07 18:53:09 UTC) multi-call binary.
...
docker version 명령으로 Docker 서버와 클라이언트 정보를 확인해봅니다.
Client:
Cloud integration: v1.0.35+desktop.13
Version: 26.0.0
API version: 1.45
...
Server: Docker Desktop 4.29.0 (145265)
Engine:
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
...
기본적으로 윈도우와 맥의 경우 도커를 설치할 때 같이 도커 컴포즈가 설치되기 때문에 설치가 잘 되었는지 확인하는 작업만 진행합니다.
docker ps로 실행중인 컨테이너를 확인해봅니다.
아직 아무것도 실행중이지 않은 것을 확인할 수 있습니다. 여기서부터는 nginx 이미지로 간단한 서버 테스트를 해보겠습니다. 먼저 웹 브라우저를 열어 127.0.0.1:4567에 접속해봅니다. 다음과 같이 사이트에 접속을 할 수 없는 상태인 것을 확인합니다.

docker run 명령어로 nginx 이미지 기반 컨테이너를 하나 실행해봅니다.
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
b0a0cf830b12: Pull complete
8ddb1e6cdf34: Pull complete
5252b206aac2: Pull complete
988b92d96970: Pull complete
7102627a7a6e: Pull complete
93295add984d: Pull complete
ebde0aa1d1aa: Pull complete
Digest: sha256:ed6d2c43c8fbcd3eaa44c9dab6d94cb346234476230dc1681227aa72d07181ee
Status: Downloaded newer image for nginx:latest
d25f302159a62e9a85cb4ad64eaa88fe88c794012d7ce89d576d31ae556cc1b0
Docker에서는 이미지를 자동으로 다운로드 받고 실행해줍니다. docker ps로 실행한 컨테이너를 확인합니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d25f302159a6 nginx:latest "/docker-entrypoint.…" 50 seconds ago Up 46 seconds 0.0.0.0:4567->80/tcp lucid_joliot
다시 웹 브라우저에서 127.0.0.1:4567에 접속해보면, 이제 ‘Welcome to nginx!’ 메시지가 나타납니다.

사용하지 않는 컨테이너는 docker rm 명령어로 삭제해줍니다. d25f302159a6는 docker ps에서 확인할 수 있는 컨테이너 ID(CONTAINER ID)입니다.