Windows + Docker Engine

윈도우즈 운영체제 환경에서 Docker를 사용할 수 있는 환경 구축 방법을 소개한다.

Docker Desktop

Docker Desktop이라는 어플리케이션을 설치하면 복잡한 단계가 필요 없다.

Docker 홈페이지

Windows WSL Ubuntu 및 Docker Engine 설치

Docker Desktop이 있음에도 불구하고 개별적으로 Docker Engine을 설치해야 하는 이유는 라이센스다. Docker Engine과 Docker Desktop은 라이센스가 다르다. Docker Engine은 Apache License, Version 2.0로 상업용으로 사용하는데 필요한 제약이 약한 편이지만, Docker Desktop은 구독 서비스와 엮인 라이센스로 인해 기업에서 사용하기 위해서는 제약 사항들이 꽤나 생긴다.

0. Microsoft Store 활용

사실 아래 1 ~ 2 단계는 장황하게 써 있지만 Microsoft Store에서 Ubuntu를 설치하면 대부분의 작업은 알아서 다 끝나게 된다.

1. WSL (Windows Subsystem for Linux) 설치

1.1 WSL 활성화 (Windows 10/11)

방법 1: PowerShell을 통한 설치 (권장)

# 관리자 권한으로 PowerShell 실행 후
wsl --install

방법 2: Windows 기능 수동 활성화

  1. Windows + Roptionalfeatures 실행
  2. 다음 기능들 체크:
    • Linux용 Windows 하위 시스템
    • Virtual Machine Platform
  3. 재부팅 필요

1.2 Ubuntu 배포판 설치

# 사용 가능한 배포판 목록 확인
wsl --list --online

# Ubuntu 설치 (최신 LTS 버전)
wsl --install -d Ubuntu

# 또는 특정 버전 설치
wsl --install -d Ubuntu-22.04

1.3 WSL 버전 확인 및 업데이트

# WSL 버전 확인
wsl --version

# WSL 업데이트
wsl --update

# 설치된 배포판 확인
wsl --list --verbose

# WSL2로 설정 (권장)
wsl --set-version Ubuntu 2

2. Ubuntu 초기 설정

2.1 첫 실행 및 사용자 설정

  1. Ubuntu 실행 (시작 메뉴에서 Ubuntu 검색)
  2. 사용자명과 비밀번호 설정
  3. 시스템 업데이트:
sudo apt update && sudo apt upgrade -y

3. Docker Engine 설치

3.1 기존 Docker 관련 패키지 제거

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

3.2 Docker 공식 GPG 키 및 저장소 추가

# 필요한 패키지 설치
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# Docker GPG 키 추가
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Docker 저장소 추가
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

3.3 Docker Engine 설치

# 패키지 목록 업데이트
sudo apt update

# Docker Engine, containerd, Docker Compose 설치
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.4 Docker 서비스 시작 및 자동 시작 설정

# Docker 서비스 시작
sudo systemctl start docker

# 부팅 시 자동 시작 설정
sudo systemctl enable docker

# Docker 서비스 상태 확인
sudo systemctl status docker

3.5 사용자를 Docker 그룹에 추가 (sudo 없이 사용)

# 현재 사용자를 docker 그룹에 추가
sudo usermod -aG docker $USER

# 새 그룹 설정 적용 (재로그인 또는 다음 명령어 실행)
newgrp docker

# 또는 WSL 재시작
exit
# PowerShell에서: wsl --shutdown
# Ubuntu 다시 시작

4. Docker 설치 확인

4.1 Docker 버전 확인

# Docker 버전 확인
docker --version
docker compose version

# Docker 시스템 정보
docker system info

4.2 테스트 컨테이너 실행

# Hello World 컨테이너 실행
docker run hello-world

# Ubuntu 컨테이너 실행 테스트
docker run -it ubuntu:latest /bin/bash

5. 유용한 WSL 명령어

5.1 WSL 관리 명령어

# WSL 배포판 목록 확인
wsl --list --verbose

# 특정 배포판 실행
wsl -d Ubuntu

# WSL 종료
wsl --shutdown

# 배포판 제거
wsl --unregister Ubuntu

# WSL 기본 배포판 설정
wsl --set-default Ubuntu

5.2 파일 시스템 접근

  • Windows에서 WSL 파일에 접근: \\wsl$\Ubuntu\home\username
  • WSL에서 Windows 파일에 접근: /mnt/c/Users/username

6. 문제 해결

6.1 일반적인 문제

WSL2 가상화 오류

# Hyper-V 확인 및 활성화
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Docker 권한 오류

# Docker 소켓 권한 확인
sudo chmod 666 /var/run/docker.sock

Docker 서비스 시작 실패

# Docker 서비스 강제 재시작
sudo service docker restart

# 로그 확인
sudo journalctl -u docker.service

6.2 성능 최적화

.wslconfig 파일 생성 (C:\Users\username\.wslconfig)

[wsl2]
memory=4GB
processors=2
swap=2GB

7. 추가 도구 설치 (선택사항)

7.1 Docker Compose (standalone)

# 최신 버전 다운로드 및 설치
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

7.2 Visual Studio Code 연동

  1. VS Code에 “Remote – WSL” 확장 설치
  2. WSL Ubuntu에서 code . 명령어로 VS Code 실행

여기까지 하면 WSL Ubuntu와 Docker Engine을 사용할 수 있다.

댓글 남기기

WordPress.com 제공.

위로 ↑

워드프레스닷컴으로 이처럼 사이트 디자인
시작하기