본문 바로가기
기타/Windows

WSL2 에서 Docker 설치와 연결문제

by makepluscode 2023. 12. 16.
반응형

윈도우 WSL2 에서 Docker 설치와 연결문제

WSL2(Windows Subsystem for Linux 2)는 Windows 환경에서 리눅스 시스템을 원활하게 사용할 수 있게 해주는 강력한 도구입니다. 이를 통해 개발자들은 Windows 환경에서 리눅스 기반의 도구와 애플리케이션을 손쉽게 사용할 수 있습니다. Docker는 이러한 환경에서 매우 유용한 도구로, 컨테이너화된 애플리케이션을 개발하고 배포하는 데 필수적입니다. 이 포스팅에서는 WSL2에서 Docker를 사용하면서 발생할 수 있는 "Cannot connect to the Docker" 연결 문제와 그 해결 방법을 정리합니다.


 

문제 상황: Docker 연결 실패

WSL2에서 Docker를 설치하고 구성한 후에도, 다음과 같은 연결 오류가 발생할 수 있습니다.

$ docker pull jekyll/jekyll
Using default tag: latest
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

이 오류는 Docker 데몬이 실행되지 않았을 때 발생합니다.

해결 방법: Docker 자동 실행 설정

1. 자동 실행 스크립트 추가

이 문제를 해결하기 위해, Docker 데몬이 WSL2 세션 시작 시 자동으로 실행되도록 ~/.bashrc 파일에 스크립트를 추가합니다.

(1) ~/.bashrc 파일을 엽니다.

vim ~/.bashrc

(2) 파일의 마지막에 다음 스크립트를 추가합니다:이 스크립트는 Docker 서비스의 상태를 확인하고, 필요한 경우 자동으로 시작합니다.

# 터미널을 열때 Docker 자동 실행
if service docker status 2>&1 | grep -q "is not running"; then
    wsl.exe -d "${WSL_DISTRO_NAME}" -u root -e /usr/sbin/service docker start >/dev/null 2>&1
    wsl.exe -d "${WSL_DISTRO_NAME}" -u root -e chmod 666 /var/run/docker.sock >/dev/null 2>&1
else
    echo "Docker is ready to run!!"
fi

(3) 변경사항을 적용합니다:

source ~/.bashrc

2. Docker 서비스 확인

이제 WSL2를 시작할 때마다 Docker 서비스가 자동으로 실행되며, Docker 관련 명령어를 사용할 수 있습니다.


문제해결완료

이 포스팅에서 소개한 자동 실행 스크립트를 통해 Docker 연결 문제를 해결하고, WSL2 에서 Docker 개발 환경을 구축할 수 있습니다.

반응형