docker-compose.yml 파일 작성
아래는 예시입니다. 프로젝트 폴더(예: C:\docker-mysql-test)에 docker-compose.yml 파일을 생성합니다.
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로 실행
-
터미널(cmd, PowerShell 또는 Windows Terminal 등)에서
docker-compose.yml이 있는 폴더로 이동합니다. -
아래 명령어로 컨테이너를 실행합니다.
textdocker-compose up -d
-
-d: 백그라운드 실행
-
-
컨테이너 상태 확인:
textdocker ps
기타 명령어
-
컨테이너 중지 및 삭제:
textdocker-compose down
-
볼륨까지 모두 삭제하려면:
textdocker-compose down -v
-
컨테이너 재시작:
textdocker-compose restart
팁 및 참고사항

-
initdb.d폴더에 SQL 스크립트 파일을 넣으면 컨테이너 시작 시 자동 실행됩니다. -
DB 툴(DBeaver 등)로
localhost:3306접속, root 계정 및 비밀번호로 접속 가능. -
host에 기존 MySQL이 있다면 포트를 달리(예: “3307:3306”) 설정하는 것이 안전합니다.
이 방식대로 하면 윈도우 11 + Docker Desktop 환경에서 매우 빠르고 반복적으로 MySQL 컨테이너를 관리할 수 있습니다.