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


참고 자료