WSL2 Docker 설정

Windows PowerShell에서는 docker가 실행이 되는데 WSL에서는 docker가 작동 안되는 경우가 있습니다. 또한 윈도우에서 도커를 설치하고 WSL ubuntu에서 도커를 추가로 설치하였다면 이 두 도커간 연동이 안되는 경우도 있습니다. 이번 포스트에서는 위와 같은 에로상황이 발생하지 않도록 WSL2 Docker 설정법에 대해서 정리해 보았습니다.

ubuntu에서는 작동하지 않는 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

저는 이전에 version2로 이미 설정해주었습니다.

만일 버전 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

Leave a Comment

목차