Post

Windows Subsystem for Linux (WSL)에 Docker 설치하기


Docker 설치


여기서 설명하는 방법은 Windows에 ‘Docker Desktop for Windows’를 설치하지 않고, WSL에 Docker를 설치하는 방법이다. WSL과 Windows를 최대한 독립된 환경처럼 구성해보고자 이런 방법으로 설치해보았다.

Docker 공식 문서의 내용을 많이 참고하였다.

Image

https://docs.docker.com/engine/install/ubuntu/


1. 필요한 Package들을 우선 설치한다.

1
2
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

Image


2. Docker의 Official GPG Key를 등록한다.

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Image


3. Docker의 Repository를 APT에 등록한다.

1
2
3
4
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

Image


4. Docker를 설치한다.

1
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Image


5. 현재 로그인된 사용자 그룹에 'docker'를 추가하고 Docker 서비스를 시작한다.

1
2
sudo usermod -aG docker $USER
sudo service docker start

Image


6. WSL 부팅 시 Docker 서비스가 자동으로 시작되도록 설정한다.

/etc/wsl.conf 파일을 이용하여 WSL의 고급 설정을 구성 할 수 있다.

Image

https://docs.microsoft.com/ko-kr/windows/wsl/wsl-config


해당 파일에 WSL 부팅 시 Docker 서비스가 자동으로 시작되도록 설정하면 조금 더 편리하게 사용할 수 있다.

아래 명령으로 /etc/wsl.conf 파일을 열고

1
sudo vi /etc/wsl.conf

다음과 같이 작성해 준다.

1
2
[boot]
command=service docker start

WSL 부팅 시 Docker 서비스가 시작되도록 설정했기 때문에 컴퓨터를 재부팅 하고 난 뒤에 WSL을 실행할 때부터 적용된다.


여기까지가 설치 과정이었다. 이제 WSL이 부팅될 때 Docker 서비스가 자동으로 시작되거나 아니더라도 Docker 서비스를 직접 시작하고 사용하면 된다.


Docker 실행


아래 명령을 통해 실행되고 있거나 종료된 컨테이너들의 상태를 확인할 수 있다.

1
docker ps -a

Image

아직 아무것도 실행하지 않았으므로 비어있는 모습을 확인할 수 있다.

이번엔 ‘hello-world’ Docker 이미지를 실행해보도록 하자.

1
docker run hello-world

Image

문제없이 실행된 것을 확인할 수 있다.

컨테이너 상태를 확인해보면 아래와 같이 실행되었다가 이미 종료되었음을 알 수 있다.

Image


This post is licensed under CC BY 4.0 by the author.

© sirius-mhlee. Some rights reserved.

Using the Chirpy theme for Jekyll.