Window10에 Docker 설치를 하다 오류가 나기도 했고 해서 정상적으로 설치한 과정을 정리하게됨.
시작하기 전에, Docker Desktop은 Docker가 리눅스 기반으로 동작하기 때문에 Window , Mac 환경에서도 손쉽게 사용할 수 있게 나온 것이라고 한다.
🔍 설치하기 전에
설치가 잘 안되서 가장 먼저 찾아본 공식문서. (오늘도 공식문서의 중요성을 깨닫습니다..)
Docker는 Linux를 기반으로 동작하는 애플리케이션이기 때문에 Windows에서 돌리려면 가상환경의 필요함을 짐작할 수 있다. 이를 위해 Windows 에서는 Hyper-V 가 제공되고 있었고, Docker Desktop은 기본적으로 Hyper-V의 기능을 사용한다고 한다.
공식적으로는 Windows Home 에서는 Hyper-V를 사용할 수 없는데 2020년 5월, Hyper-V 기반의 WSL2가 Windows에 정식 릴리즈 되었고, Docker Desktop에서 이를 지원해 현재는 Home 버전에서도 손쉽게 Docker Desktop을 사용할 수 있다.
( 이 글은 Docker Desktop설치가 목적이므로 Hyper-V와 WSL2에 대해서는 다루지 않도록 하겠다.)
컴퓨터 Windows가 Home Edition 이므로 WSL2 를 설치하도록 하겠다.
✔ WSL2 설치
우선, WSL2 기능 활성화를 위한 작업이 필요하다.
1. PowerShell 관리자 모드로 실행.
2. 아래 명령어 입력 후 재부팅dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
에러가 난다면, 제어판의 'Windows 기능 켜기/끄기' 의 Linux용 Windows 하위 시스템 체크 후 재부팅
3. 다시 PowerShell 관리자 모드로 실행.
4. wsl --install 명령어 입력
$ wsl --install
or wsl --install --web-download
5. wsl버전 기본값을 2로 변경.
$ wsl --set-default-version 2
그런데 나의 경우는 4번에서 에러를 마주쳤다. 에러가 안났다면 아래 오류 부분은 스킵.
❗ WSL 설치 오류 : WslRegisterDistribution failed with error: 0x80370102
아래 링크를 통해 해결방법을 얻을 수 있었다.
요약하자면, BIOS에서 CPU 가상화 설정 및 Hyper-V Windows 기능 활성화가 필요하다고 한다.
이 내용은 Docker의 공식문서에도 언급되어 있다. [링크]
재부팅을 최소화 하기 위해 Windows 기능 설정 먼저.
1. Windows 기능 켜기/끄기' 의 Windows 하이퍼바이저 플랫폼 체크 후 재부팅.
2. 재부팅 과정에서 BIOS진입. 부팅중에 F2를 연타하면 됨.
(메인보드 제조사별로 다른데 보통 F2, F10, DEL이라고 함)
여기서 Advance Mode(F7) 로 들어간 후, Advanced 탭 - CPU Configuration 클릭.
그리고 Intel (VTX) Virtualization Technology 를 Enabled로 변경. (AMD의 경우는 AMD (SVM) Secure Virtual Machine)
이후에는 에러 나기전에 PowerShell 관리자 모드에서 wsl 설치한 것을 재시도 하면 된다.
wsl 설치 확인 명령어는 'wsl -l -v'
✔ Docker Desktop
WSL2를 설치 했으니 이제 Docker Desktop을 설치해볼 차례.
아래 링크를 통해 Docker 홈페이지로 접속 후 Downlad for windows 버튼 클릭
.https://www.docker.com/get-started/
다운로드 된 .exe파일을 안내에 따라 설치를 하면 된다. 중간에 Configuration 이 나오는데, 둘다 체크 하면 된다.
설치 두번째인 지금보니, 저 recommended 문구가 눈에 들어온다. Docker팀에서도 범용성 있는 WSL2를 사용하라고 권장하는 것 같다.
설치가 완료되고 기본 설정을 한 후 실행하면 다음과 같은 화면이 나온다. (계정이 없다면 생성)
Terminal 에서 docker -v 명령어를 통해, 설치 확인을 할 수 있다.
추가로, WSL2 설정이 잘 되어있는지 확인 해보자.
1. 우측 상단 톱니바퀴 아이콘을 눌러 Settings 에 들어간다.
2. General 설정에서 'Use the WSL 2 based engine' 가 체크되어있는지 확인.
3. Resources 설정 - WSL integration 메뉴의 'Enable Integration with my default WSL distro' 체크되어 있는지 확인
새로 체크한 것이 있다면 Apply & restart 버튼 클릭.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!