728x90
개요
WSL2 Ubuntu 환경에서 Spring Boot 프로젝트를 빌드하던 중 다음과 같은 오류가 발생했다.
$ docker-compose up -d
Error response from daemon: client version 1.42 is too old.
Minimum supported API version is 1.44, please upgrade your client to a newer version
환경 정보
- OS: WSL2 Ubuntu 24.04
- Docker Desktop: 27.5.1 (Windows)
- Docker CLI (WSL): 1.42 (구버전)
- Spring Boot: 3.5.4
원인
Docker Desktop과 WSL CLI 버전 불일치
WSL + Docker Desktop 환경에서는 두 가지 Docker 컴포넌트가 존재한다.
- Docker Desktop (Windows): 최신 버전 (27.5.1)
- 실제 컨테이너를 실행하는 엔진
- Docker CLI (WSL): 구버전 (1.42)
- WSL에서 명령어를 입력받는 클라이언트
- 문제는 WSL의 Docker CLI가 오래되어 Docker Desktop의 최신 API(1.44)와 통신할 수 없다는 것이었다.
해결
Docker CLI 업그레이드
WSL 내부의 Docker CLI를 최신 버전으로 업데이트한다.
1. 기존 Docker 패키지 제거
- 오래된 Docker 패키지들을 제거하여 깨끗한 설치 환경을 만든다.
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 필수 패키지 설치 -
- ca-certificates: 안전한 HTTPS 연결을 위한 인증서
- curl: 파일 다운로드 도구
- gnupg: 암호화 키 관리
- lsb-release: Ubuntu 버전 정보 확인
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
3. Docker GPG 키 추가
- Docker 공식 저장소의 진위를 확인하기 위한 보안 키를 설치한다.
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
4. Docker 저장소 추가
- Ubuntu에게 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
5. 최신 Docker CLI 설치
sudo apt-get update
sudo apt-get install -y docker-ce-cli
6. 설치 확인 및 실행
docker --version
docker compose up -d # 주의: 'docker-compose'가 아님
docker ps728x90