Windows PowerShell에서는 docker가 실행이 되는데 WSL에서는 docker가 작동 안되는 경우가 있습니다. 또한 윈도우에서 도커를 설치하고 WSL ubuntu에서 도커를 추가로 설치하였다면 이 두 도커간 연동이 안되는 경우도 있습니다. 이번 포스트에서는 위와 같은 에로상황이 발생하지 않도록 WSL2 Docker 설정법에 대해서 정리해 보았습니다.
NOTE. 이미 리눅스에 도커를 설치한 경우
Docker Desktop에서 WSL 2를 사용할 때 발생할 수 있는 충돌을 방지하려면 Docker Desktop을 설치하기 전에 Linux를 통해 직접 설치된 이전 버전의 Docker 엔진 및 CLI를 제거해야 합니다.
sudo docker stop $(sudo docker ps -aq) # 컨테이너 동작 정지
sudo docker rm $(sudo docker ps -aq) # 컨테이저 삭제
sudo apt-get purge docker-ce docker-ce-cli containerd.io # 남은 족속성 파일 삭제
sudo apt-get autoremove
docker --version # 도커 제거 확인
dpkg -l | grep docker를 실행하고 시스템, 특히 /var/lib/docker에 Docker 관련 파일이나 디렉터리가 남아 있지 않은지 확인해줍니다.
만일 WSL2를 설치하지 않았다면 아래 글을 참고해주세요.
Docker Desktop WSL2 켜기
WSL2를 설치 하신 후 docker를 설치하셨다면 WSL2 기반 엔진을 사용하는 것이 기본 값으로 설정 되어 있습니다.
만약 WSL2를 설치하지 않고 도커를 설치 하셨다면 WSL2를 설치하신 뒤, Settings -> General -> Use the WSL2 based engine 을 체크해주세요.
settings -> Resource -> WSL integration에서 Enable integration with my default WSL distro 와 원하는 배포 버전을 체크해주세요
설정 완료 후 Apply & restart를 클릭합니다.
WSL2 Docker 활성화
WSL 모드를 우선 확인해 줍니다.
$ wsl.exe -l -v
만일 버전 2로 설정이 되어 있지 않다면 다음 명령어를 이용합니다.
$ wsl.exe --set-version (distro name) 2
v2를 향후 설치를 위한 기본 버전으로 설정하려면 다음 명령어를 실행합니다.
$ wsl.exe --set-default-version 2
Docker-WSL 통합은 Ubuntu 기본 WSL 배포판에서 활성화됩니다.
저 같은 경우 현재 이전에 설치한 22.04 버전이 기본으로 설정 되어 NAME 왼쪽에 * 가 표시 된 것을 확인 할 수 있습니다.
기본 WSL 배포판을 변경하려면 다음을 실행합니다.
wsl.exe --set-default <distro name>
저는 24.04 로 변경하기 위해서 다음 명령어를 수행하였습니다.
wsl.exe --set-default Ubuntu-24.04
이제 wsl.exe -l -v
를 실행하면 아래와 같이 Ubuntu-24.04가 기본 배포판으로 설정된 것을 확인 할 수 있습니다.
이후 컴퓨터를 재시작하면 “WLS2 도커” 가 이상 없이 실행됨을 확인 할 수 있습니다.
참조 및 참고하면 좋은 글
Docker Desktop WSL 2 backend on Windows | Docker Docs