wsl2에 docker 설치하기

wsl2에 docker 설치하기

DevOps
wsl2에 docker 설치하기
Author

gabriel yang

Published

November 15, 2023

WSL에 Docker Engine설치하기

WSL에 Docker를 설치하는 방법을 정리합니다.

1. 기존 설치제거 / 저장소 추가

기존의 설치된 Docker가 있다면 제거한다.

sudo apt-get remove docker docker-engine docker.io containerd runc

Docker 저장소를 사용할 수 있도록 패키지 인덱스를 업데이트 한다.

sudo apt-get update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

Docker의 공식 GPG키를 추가합니다. GPG(GNU Privacy Guard)는 개인 정보를 안전하게 보호하기 위한 오픈 소스의 암호화 소프트웨어입니다. Git에서 GPG는 주로 커밋에 서명을 추가하여 코드의 무결성을 보호하는 데 사용됩니다.

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

위의 명령을 이용해서 Docker APT저장소를 시스템에 추가합니다. 명령의 각 부분을 정리합니다.

  • debAPT(Advanced Package Tool)패키지 관리자가 사용하는 저장소를 정의합니다.
  • arch=$(dpkg --print-architecture)는 현재 설치를 수행하는 시스템의 아키택처를 가져옵니다.
  • signed-by=/etc/apt/keyrings/docker.gpg는 저장소가 서명된 GPG 키를 사용하고 있음을 나타냅니다.
  • $(lsb_release -cs)는 현재 Ubuntu 배포판의 코드명(예: focal, bionic 등)을 가져옵니다.
  • tee 명령은 표준 입력에서 데이터를 읽어 파일에 쓰는 동시에 표준 출력에도 쓰는 명령입니다.
  • > /dev/null은 tee의 출력을 표준 출력으로 보내지 않도록 하는데, 여기서는 필요하지 않은 출력을 방지하기 위해 사용됩니다.

Docker Engine 설치

저장소를 추가했으니 도커에 관련된 설치를 위해서 apt 패키지 인덱스를 업데이트 및 설치합니다.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

도커 설치가 완료되면 hello-world이미지를 실행해서 Docker Engine이 정상적으로 설치되었는지 확인합니다. 명령 실행 시 docker가 실행되지 않아 아래와 같은 에러가 발생할 수 있습니다.

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

이 경우 docker엔진을 실행합니다. 도커가 정상적으로 시행하되면 Docker is running메세지를 확인할 수 있습니다.

sudo service docker start
sudo service docker status
 * Docker is running

hello-world 테스트 이미지를 실행해서 docker가 정상적으로 설치되었는지 확인합니다.

sudo docker run hello-world

hello-world이미지를 실행하면 아래와 같이 Hello from Docker!메세지를 확인할 수 있습니다.

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:88ec0acaa3ec199d3b7eaf73588f4518c25f9d34f58ce9a0df68429c5af48e8d
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
Date Title Author
Jan 1, 3000 전체 카테고리 gabriel yang
Mar 20, 2025 우분투(Ubuntu)에서 ngrok 설치 및 사용 방법 gabriel yang
Feb 4, 2025 Windows 11에서 WSL 설치 및 Docker 연결하기 gabriel yang
Oct 7, 2024 Docker Compose로 Jenkins 설치 및 사용하기 gabriel yang
Aug 23, 2024 우분투(Ubuntu)에서 특정 폴더를 아파치 서버로 설정하기 gabriel yang
Jul 24, 2024 GitHub Actions 시작하기 gabriel yang
Dec 31, 2023 우분투와 윈도우 파일 공유하기 (samba) gabriel yang
Dec 5, 2023 crontab을 이용해서 Let’s Encrypt SSL 인증서 자동갱신 gabriel yang
Nov 27, 2023 우분투 docker, docker-compse 설치 gabriel yang
Nov 26, 2023 AWS 호스팅 EC2 와 Lightsail의 차이 gabriel yang
Nov 20, 2023 wsl 이미지 저장 위치 변경 및 백업 gabriel yang
Nov 20, 2023 airflow postgresoperator 사용하기 gabriel yang
Nov 18, 2023 docker-compose로 airflow 설치하기 gabriel yang
Nov 15, 2023 mkfifo를 이용한 IPC gabriel yang
Oct 9, 2023 Github Pull Request 템플릿 적용하기 gabriel yang
No matching items
Back to BLOG LIST