목차
- 가정사항 알림
- Docker 설치하기
- Docker 설정 확인하기
- Docker 실행 시 WSL2 커널 오류가 발생하는 경우법
- WSL에 진입하여 Docker를 실행 시 WSL1 Distro 관련 오류가 나타나는 경우
- 참고 자료
가정사항 알림
이번 포스팅에서는 이전에 포스팅한 내용인 WSL 설치 및 관련한 여러가지 설정을 모두 완료했다는 가정하에 설명한다.
Docker 설치하기
Docker를 WSL2에 설치하는 방법에 대해서는 Docker 공식 매뉴얼에서 볼 수 있다. 해당 페이지로 이동하여 먼저 ① 구동을 위한 최소 사양을 확인하고, ② 파일을 다운로드 받자.
다운로드한 파일을 설치하면 아래와 같은 화면이 나타난다.
설치가 완료되면 Windows를 Logout해야 한다고 나온다. 일단 작업 중이던 모든 내용들은 먼저 모두 저장해 두자.
로그아웃 후 다시 로그인하면 이제 Docker가 실행된다. Docker가 완전히 실행될 때까지 로딩을 기다리자.
Windows Terminal을 실행 후 WSL을 입력하여 진입 후 Docker를 실행해 보자.
Docker 실행 시 start를 누르면 tutorial이 나타나는데, 따라 해보고 싶으면 해봐도 되고 그냥 next 눌러서 쭉 스킵해도 된다.
Docker 설정 확인하기
필자의 취미 생활 컴퓨터에서는 매번 개발만 하지는 않는다. 그러니, 개발하려고 마음을 먹었을 시에만 docker가 필요할 뿐 매번 kubernetes 환경 사용하는게 아니므로, 설정 > Start Docker Desktop when you log in의 체크를 해제했다. 이러면 시스템 시작 시 Docker가 자동실행되지 않는다.
설정에서 Use the WSL 2 based engine 옵션에 체크되어 있는 지 반드시 확인한다.
하단의 Apply & Restart를 눌러 적용한다.
Docker 실행 시 WSL2 커널 오류가 발생하는 경우
필자는 필자 자신이 WSL 설치 매뉴얼을 작성해 놓고도 거의 매번 빼먹는 Step이 한 단계있어 이 화면을 자주 본다.
이 경우 WSL 설치 시 아래의 Windows10용 Linux Kernel Update Package를 설치를 빼먹고 건너 뛰어서 그렇다. Windows 10에 Linux용 Windows 하위 시스템 설치 가이드로 가서 Linux Kernel Update Package를 다운로드 후 설치하자.
Linux Kernel 지원 패키지 설치 후 다시 진행하면 WSL과 Docker가 정상작동한다.
WSL에 진입하여 Docker를 실행 시 WSL1 Distro 관련 오류가 나타나는 경우
WSL에 진입하여 Docker 실행 시 아래와 같이 WSL 1 Distro에서는 지원하지 않는다는 오류메시지가 나타나는 경우가 있다. WSL1은 정식으로 Docker를 지원하지 않기 때문이다.
이런 경우 WSL 설치 시 뭔가를 빼먹어서 WSL2로 업그레이드 되지 않았거나, 혹은 WSL1과 WSL2 분리 중에 실수로 Default WSL이 WSL 1으로 되어 있는 경우다. 아래와 같이 wsl -l -v로 verbose 모드로 보면 Default WSL이 1으로 설정되어 있어 나타나는 현상이다.
이런 경우 wsl -d {WSL2이름}으로 WSL2를 실행시켜주거나, default WSL을 WSL2로 변경해 주면 된다.
※ 참고 : WSL1에서 Docker를 실행시켜야 하는 경우는 Jung-Hyun Nam님이 작성하신「WSL v1에서 Native Docker 실행하기」 포스팅의 내용을 확인하자.
참고 자료
- https://docs.docker.com/docker-for-windows/install/
- https://www.44bits.io/ko/post/wsl2-install-and-basic-usage
- https://hub.docker.com/editions/community/docker-ce-desktop-windows
- https://blog.wslhub.com/wsl%EC%97%90%EC%84%9C-native-docker-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-ff75b1627a87