윈도우 11에서 Docker Desktop 환경에서 docker-compose를 이용해 MySQL을 실행하는 방법

docker-compose.yml 파일 작성

아래는 예시입니다. 프로젝트 폴더(예: C:\docker-mysql-test)에 docker-compose.yml 파일을 생성합니다.

text

version: ‘3’
services:
mysql:
image: mysql:8.0
container_name: mysql_test
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: testdb
TZ: Asia/Seoul
ports:
– “3306:3306”
volumes:
– ./data:/var/lib/mysql
– ./initdb.d:/docker-entrypoint-initdb.d
command:
– –character-set-server=utf8mb4
– –collation-server=utf8mb4_unicode_ci

  • image: 사용할 MySQL 이미지 및 버전 지정

  • container_name: 컨테이너 이름 지정

  • environment: 루트 비밀번호, 기본 DB명, 타임존 등 환경 변수 설정

  • ports: 호스트 포트와 컨테이너 포트 매핑 (기존 MySQL 실행 중이면 3307:3306도 가능)

  • volumes: 데이터/초기화 스크립트 등 컨테이너와 호스트 폴더 연결

  • command: 서버, 콜레이션 등 추가 명령 옵션

docker-compose로 실행

  1. 터미널(cmd, PowerShell 또는 Windows Terminal 등)에서 docker-compose.yml이 있는 폴더로 이동합니다.

  2. 아래 명령어로 컨테이너를 실행합니다.

    text
    docker-compose up -d
    • -d: 백그라운드 실행

  3. 컨테이너 상태 확인:

    text
    docker ps

기타 명령어

  • 컨테이너 중지 및 삭제:

    text
    docker-compose down
  • 볼륨까지 모두 삭제하려면:

    text
    docker-compose down -v
  • 컨테이너 재시작:

    text
    docker-compose restart

팁 및 참고사항

윈도우 11에서 Docker Desktop 환경에서 docker-compose를 이용해 MySQL을 실행하는 방법

  • initdb.d 폴더에 SQL 스크립트 파일을 넣으면 컨테이너 시작 시 자동 실행됩니다.​

  • DB 툴(DBeaver 등)로 localhost:3306 접속, root 계정 및 비밀번호로 접속 가능.​

  • host에 기존 MySQL이 있다면 포트를 달리(예: “3307:3306”) 설정하는 것이 안전합니다.

이 방식대로 하면 윈도우 11 + Docker Desktop 환경에서 매우 빠르고 반복적으로 MySQL 컨테이너를 관리할 수 있습니다.​