WSL 내 Docker 설정 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- Windows 개발자 (WSL과 Docker를 사용하는 중급 이상 개발자)
- 난이도: 중급 (명령어 기반 설치 및 구성 필요)
핵심 요약
- Docker Desktop 문제: Docker Desktop 업데이트 시 docker daemon이 실행되지 않아 오류 발생
- 대안: WSL 내 Docker 설치 (명령어 기반 설치)
- GUI 접근: Portainer 컨테이너를 통해 브라우저로 Docker 관리 가능
섹션별 세부 요약
1. Docker Desktop 문제점
- Docker Desktop 설치 후 OS 업데이트 시 docker daemon 실행 실패
docker version
명령어 실행 시 server (daemon) 미실행 오류 발생- 주요 원인: Docker Desktop의 docker daemon 업데이트 호환성 문제
2. WSL 내 Docker 설치 단계
- WSL 터미널에서 Docker 패키지 제거
```bash
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
```
- Docker 저장소 추가 및 설치
```bash
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
- 설치 완료 후
docker version
실행 시 WSL 내 Docker 정상 동작 확인
3. Docker Desktop 제거 및 환경 설정
- Docker Desktop 제거 (설치 충돌 방지)
- .bashrc 파일에 alias 추가
```bash
alias docker="wsl docker"
```
- 터미널 재시작 후
docker version
명령어 실행 시 WSL Docker 활성화
4. GUI 기반 Docker 관리 (Portainer)
- Portainer 컨테이너 생성
```bash
docker volume create portainer_data
docker run -d -p 9090:9000 --name=portainer -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
```
- 브라우저로 접근:
http://localhost:9090
(포트 충돌 시9999
등 변경 가능)
결론
- Docker Desktop 대체로 WSL 내 Docker 설치 권장
- Portainer 컨테이너를 통해 GUI 기반 Docker 관리 가능
- Alias 설정 및 Docker Desktop 제거는 필수 조건으로, 터미널 재시작 후 확인 필요