WSL에서 docker-compose 사용하기
WSL에서 docker-compose 사용하기
WSL(Windows Subsystem for Linux)에서 Docker Compose를 사용하는 방법은 Windows에서 Docker Desktop과 WSL 2를 활용해 WSL 내부에서 Docker Compose를 실행하는 방식입니다. 이 과정에서 Docker Desktop의 Docker 데몬을 이용하여 WSL 내에서 docker-compose
명령어를 사용할 수 있습니다.
1. Docker Desktop 설치 및 설정
먼저 Windows에서 Docker Desktop을 설치하고 WSL 2 통합을 활성화해야 합니다.
- Docker Desktop 설치
- Docker Desktop을 다운로드 및 설치합니다: Docker Desktop 다운로드
- WSL 2 설치 및 활성화
WSL 2가 기본으로 설치되어 있어야 하며, Windows 버전에 따라
wsl --install
명령으로 설치할 수 있습니다.wsl --install
기본 WSL 버전을 WSL 2로 설정합니다:
wsl --set-default-version 2
- Docker Desktop에서 WSL 2 통합 활성화
- Docker Desktop을 실행하고 Settings > Resources > WSL Integration으로 이동합니다.
- “Enable integration with my default WSL distro” 옵션을 활성화하고 사용하려는 WSL 배포판(예: Ubuntu)을 선택합니다.
2. WSL에 Docker 및 Docker Compose 설치
WSL 배포판에 docker
와 docker-compose
를 설치할 필요는 없습니다. Docker Desktop이 설치되어 있으면 WSL에서 Docker를 바로 사용할 수 있으며, Docker Compose도 동일하게 설치됩니다.
다만, 아래 명령으로 버전 확인이 가능합니다:
docker --version
docker-compose --version
정상적으로 버전 정보가 출력되면 Docker와 Docker Compose가 잘 연결되어 있다는 뜻입니다.
3. Docker Compose 파일 작성
WSL에서 docker-compose.yml
파일을 작성하여 여러 컨테이너를 구성할 수 있습니다. 예시로 간단한 docker-compose.yml
파일을 작성해보겠습니다.
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: postgres:latest
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: example
위의 파일은 nginx
와 postgres
컨테이너를 설정하고, nginx
는 호스트의 8080 포트를 통해 접근할 수 있게 설정한 예시입니다.
4. Docker Compose 명령어 실행
docker-compose.yml
파일이 있는 디렉터리에서 WSL 터미널을 열고 다음 명령을 실행하여 Docker Compose로 컨테이너를 실행할 수 있습니다.
docker-compose up
docker-compose up
명령은 docker-compose.yml
에 정의된 모든 서비스를 실행합니다. 이 명령어는 배포판이 아닌 Windows의 Docker Desktop에서 실제로 Docker 데몬이 처리하는 방식으로 동작합니다.
5. 백그라운드 실행
-d
옵션을 사용하여 컨테이너를 백그라운드에서 실행할 수도 있습니다.
docker-compose up -d
이렇게 하면 Docker Compose가 백그라운드에서 컨테이너를 실행하고 터미널을 계속 사용할 수 있습니다.
6. Docker Compose 컨테이너 중지
컨테이너를 중지하려면 다음 명령을 실행합니다.
docker-compose down
이 명령은 실행 중인 모든 컨테이너를 중지하고, 연결된 네트워크도 제거합니다.
7. 연결 및 확인
브라우저에서 http://localhost:8080
으로 접속하여 nginx
서비스가 정상적으로 실행 중인지 확인할 수 있습니다.
요약
- Docker Desktop과 WSL 2 통합을 통해, Windows에서 실행 중인 Docker 데몬을 사용해 WSL 환경에서 Docker Compose를 실행할 수 있습니다.
- Docker Desktop을 설치하고 WSL과의 통합을 활성화하면, WSL에서 별도의 Docker 설치 없이 Docker Compose를 사용할 수 있습니다.
- WSL 환경에서
docker-compose.yml
파일을 작성하고,docker-compose up
명령어를 통해 여러 컨테이너를 손쉽게 관리할 수 있습니다.
이 방식은 WSL 환경에서 네이티브로 Docker Compose를 실행할 수 있도록 하여 Windows와 Linux 환경의 통합된 개발 워크플로우를 지원합니다.