docker

[Docker] Windows 에서 Docker 사용하기(WSL 설치)

nan2 2023. 12. 9. 11:06
반응형

 

Windows Powershell 에서 WSL 설치하기

// wsl 설치
$ wsl --install

// wsl 2로 업데이트
$ wsl --set-default-version 2

// version 확인
$ wsl -l -v

// wsl root 계정으로 접속
$ wsl --user root

Linux용 Windows 하위시스템 허용해야한다는 창 뜨면 확인해주기

 

 

wsl 접속하여 Docker 설치

$ curl -fsSL https://get.docker.com -o docker-install.sh
$ sudo sh ./docker-install.sh

 

 

설치 후 docker ps 명령어 실행해보기

$ sudo docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

저런 메세지가 나오는데 이유는 리눅스의 서비스를 관리해주는 systemd가 활성화되어있지 않기 때문이다.

 

우선 docker의 status를 확인해보면, 아래와 같이 뜨는데 이유는 wsl에서 루트시스템 프로세스가 systemd가 아닌 init이여서 발생한 문제이다. 

$ sudo systemctl status docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

 

wsl에서 pstree 명령어로 확인해보면 init으로 되어있다.

 

 

이걸 해결하려면

// 최상단 디렉토리로 이동
$ cd /

// etc 폴더로 이동
$ cd /etc

// wsl.conf 파일 생성
$ sudo vim wsl.conf

//wsl.conf 내용 아래와 같이 입력하고 저장
[boot]
systemd=true

 

이렇게 해준 다음 exit 로 wsl 빠져나온 다음 wsl 재부팅해준다.

재부팅 방법

// wsl 종료 (wsl -t 다음에 이름)
$ wsl -t Ubuntu-20.04
 
// wsl 시작 (wsl -t 다음에 이름)
$ wsl -d Ubuntu-20.04

 

wsl 접속 후 pstree 명령어로 확인

 

 

다시 docker ps해보면 정상 동작하는것 확인할 수 있다.

반응형