[Docker] WSL2와 Docker 설치하기

목차

  1. 가정사항 알림
  2. Docker 설치하기
  3. Docker 설정 확인하기
  4. Docker 실행 시 WSL2 커널 오류가 발생하는 경우법
  5. WSL에 진입하여 Docker를 실행 시 WSL1 Distro 관련 오류가 나타나는 경우
  6. 참고 자료


가정사항 알림

이번 포스팅에서는 이전에 포스팅한 내용인 WSL 설치관련한 여러가지 설정을 모두 완료했다는 가정하에 설명한다.


Docker 설치하기

  1. Docker를 WSL2에 설치하는 방법에 대해서는 Docker 공식 매뉴얼에서 볼 수 있다. 해당 페이지로 이동하여 먼저 ① 구동을 위한 최소 사양을 확인하고, ② 파일을 다운로드 받자.


  2. 다운로드한 파일을 설치하면 아래와 같은 화면이 나타난다.
    그냥 모두 선택 후 진행
    설치 화면이 나타난다
    설치 완료


  3. 설치가 완료되면 Windows를 Logout해야 한다고 나온다. 일단 작업 중이던 모든 내용들은 먼저 모두 저장해 두자.


  4. 로그아웃 후 다시 로그인하면 이제 Docker가 실행된다. Docker가 완전히 실행될 때까지 로딩을 기다리자.
    이 화면이 없어질 때까지 대기


  5. Windows Terminal을 실행 후 WSL을 입력하여 진입 후 Docker를 실행해 보자.
    Docker 실행 시 Docker관련 내용이 나온다면 성공

  6. Docker 실행 시 start를 누르면 tutorial이 나타나는데, 따라 해보고 싶으면 해봐도 되고 그냥 next 눌러서 쭉 스킵해도 된다.


Docker 설정 확인하기

  1. 필자의 취미 생활 컴퓨터에서는 매번 개발만 하지는 않는다. 그러니, 개발하려고 마음을 먹었을 시에만 docker가 필요할 뿐 매번 kubernetes 환경 사용하는게 아니므로, 설정 > Start Docker Desktop when you log in의 체크를 해제했다. 이러면 시스템 시작 시 Docker가 자동실행되지 않는다.
    Docker가 컴퓨터 구동과 함께 동시에 시작되지 않게 하기


  2. 설정에서 Use the WSL 2 based engine 옵션에 체크되어 있는 지 반드시 확인한다.
    WSL 2 based engine 설정


  3. 하단의 Apply & Restart를 눌러 적용한다.


Docker 실행 시 WSL2 커널 오류가 발생하는 경우

필자는 필자 자신이 WSL 설치 매뉴얼을 작성해 놓고도 거의 매번 빼먹는 Step이 한 단계있어 이 화면을 자주 본다.

WSL2 커널 설치하고 오라는 메시지

이 경우 WSL 설치 시 아래의 Windows10용 Linux Kernel Update Package를 설치를 빼먹고 건너 뛰어서 그렇다. Windows 10에 Linux용 Windows 하위 시스템 설치 가이드로 가서 Linux Kernel Update Package를 다운로드 후 설치하자.

Linux Kernel 지원 패키지 설치

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 실행하기」 포스팅의 내용을 확인하자.


참고 자료