WSL에서 docker-compose 사용하기

WSL에서 docker-compose 사용하기

Database
WSL에서 docker-compose 사용하기
Author

gabriel yang

Published

September 21, 2024


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 통합을 활성화해야 합니다.

  1. Docker Desktop 설치
  2. WSL 2 설치 및 활성화
    • WSL 2가 기본으로 설치되어 있어야 하며, Windows 버전에 따라 wsl --install 명령으로 설치할 수 있습니다.

      wsl --install
    • 기본 WSL 버전을 WSL 2로 설정합니다:

      wsl --set-default-version 2
  3. 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 배포판에 dockerdocker-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

위의 파일은 nginxpostgres 컨테이너를 설정하고, 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 DesktopWSL 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 환경의 통합된 개발 워크플로우를 지원합니다.

<h3>카테고리 다른 글</h3>
Date Title Author
Jan 1, 3000 전체 카테고리 gabriel yang
Dec 9, 2024 SQL의 WHERE 절, 조건부 조회 gabriel yang
Dec 8, 2024 SQL 기본 SELECT 문법 이해하기 gabriel yang
Dec 7, 2024 SQLite 설치 및 테스트 데이터를 생성 gabriel yang
Dec 1, 2024 SQL에서 VIEW를 이용해 테이블을 안전하게 검색하기 gabriel yang
Aug 28, 2024 SQLite 데이터베이스 생성하기 gabriel yang
Aug 27, 2024 액셀 데이터를 SQL로 저장하기 gabriel yang
Jan 5, 2024 SQL 정렬 명령 order by gabriel yang
Dec 6, 2023 MySQL 도커로 설치하고 테스트 DB 사용하기 gabriel yang
No matching items
Back to BLOG LIST