Laravel + MySQL + Docker, 진짜 써보니까 이렇더라: 초보 개발자의 현실 체험기
Laravel 프로젝트를 Docker랑 MySQL, Composer까지 다 묶어서 한 번에 세팅하려고 하니까... 진심 머리 하얘지더라고요. 뭐부터 해야 할지 모르겠고, 블로그 글들은 다 너무 딱딱하고 어렵고. 그래서 제가 직접 해보면서 느낀 점들, 어떻게 하면 좀 더 편하게 시작할 수 있을지 솔직하게 풀어볼게요.
같이 천천히, 단계별로 따라가봐요:
- MySQL 컨테이너 만들기
- Composer 컨테이너로 Laravel 설치하기
- Docker 네트워크로 서비스 연결하기
왜 굳이 Docker를 쓰냐고요?
처음엔 그냥 로컬에 다 설치해서 하면 안 되나 싶었는데, 딱 한 번 Docker 써보고 나니까 이제는 이거 없으면 못 해요. 개발 환경도 깔끔하고, 버전 충돌 걱정 없고, 나중에 팀원한테 그대로 넘기기도 편하니까요. 특히 Laravel이랑 MySQL은 container로 나눠서 쓰는 게 정신 건강에 좋아요. 진심입니다.

Step 1: MySQL 컨테이너부터 만들어봐요
Docker Hub에 있는 MySQL 공식 이미지를 씁니다. Laravel이랑 잘 어울리는 5.7 버전으로요. 괜히 최신 썼다가 호환성 문제 생기면 귀찮으니까요.
docker-compose.yml에 이거 넣어주세요:
db:
image: mysql:5.7
env_file:
- ./env/mysql.env
volumes:
- db_data:/var/lib/mysql
container_name: mysql_container
.env 파일도 하나 만들어야 해요
env/mysql.env 파일 만들고 이렇게 적어주세요:
MYSQL_DATABASE=homestead
MYSQL_USER=homestead
MYSQL_PASSWORD=secret
MYSQL_ROOT_PASSWORD=secret
Laravel이 이 정보를 보고 DB랑 연결하니까, 꼭 필요한 부분이에요. 처음엔 막 뭔 소린가 싶지만, 막상 해보면 "아 이거 DB 세팅값이구나" 감이 와요.
네트워크요? 신경 안 써도 돼요
Compose가 자동으로 컨테이너끼리 연결해줘요. Laravel에서 MySQL 접근할 때 그냥 db라고만 쓰면 끝나요. 진짜 간단해서 놀랐어요.

Step 2: Composer 컨테이너로 Laravel 깔기
Laravel 설치할 때 Composer가 필수잖아요. 그래서 Composer만을 위한 전용 컨테이너 하나 만들면 나중에 의존성 설치할 때도 재활용할 수 있어서 좋아요. 처음엔 살짝 귀찮아도 장기적으로 편합니다.
Dockerfile 작성부터
dockerfiles/composer.Dockerfile 파일 하나 만들고 이렇게 적습니다:
FROM composer:latest
WORKDIR /var/www/html
ENTRYPOINT ["composer", "--ignore-platform-reqs"]
Composer는 최신 버전으로 쓰고, Laravel이 들어갈 경로인 /var/www/html을 작업 디렉토리로 잡아줘요. 그리고 플랫폼 관련 에러 무시하게 설정해두면 나중에 꼬이는 일 줄일 수 있어요.
docker-compose.yml에 Composer 추가하기
composer:
build:
context: ./dockerfiles
dockerfile: composer.Dockerfile
volumes:
- ./src:/var/www/html
container_name: composer_container
이제 로컬의 src/ 폴더가 컨테이너 안이랑 연결돼요. 설치된 Laravel 코드가 바로 내 컴퓨터에서도 보여서 관리하기 편하죠.

Laravel 설치는 이렇게
터미널에 아래 명령어 입력:
docker compose run --rm composer create-project laravel/laravel .
이러면 src/ 폴더에 Laravel 프로젝트가 딱 깔려요. 디렉토리 구조도 자동으로 잡혀 있고, 처음 딱 보면 뭔가 대단한 걸 해낸 느낌 납니다.
지금까지 해본 걸 한눈에 정리하면:
- MySQL container: 세팅 완료
- Composer container: Laravel 설치에 성공
- 공유 volume: Laravel 소스코드가 잘 들어가 있음
이제 진짜 기초 환경은 다 갖춘 거예요. 여기까지 오면 반은 끝난 거라고 봐요.
이제 뭐 해야 하냐고요?
Laravel 실제로 돌려보려면 이제 PHP-FPM이랑 Nginx도 필요하죠. 이건 다음 글에서 자세히 풀어볼게요. 지금은 src/ 폴더 살펴보면서 .env 수정해보거나, artisan 명령어 한번 실행해보면서 조금 익숙해지는 시간 가져보세요.
진짜 솔직한 후기
이거 처음 할 땐 진짜 너무 복잡해 보여서 몇 번이나 하다가 포기할 뻔했어요. 근데 한 번만 제대로 해보면 "어? 이거 생각보다 괜찮은데?" 싶어져요. 컨테이너 간 연결도 너무 매끄럽고, 나중에 프로젝트 공유하거나 팀 작업할 때도 이 구조 하나면 다 해결돼요.
이제 개발 환경 세팅 때문에 스트레스 받을 일은 없을 거예요. 이제 진짜 Laravel로 재밌는 거 만들어볼 일만 남았네요. 저도 그렇게 시작했어요. 응원할게요!
'SW > Kubernetes, Docker' 카테고리의 다른 글
| Laravel과 MySQL Docker로 연결하기, .env 설정부터 artisan까지 완전 정리 (0) | 2025.09.29 |
|---|---|
| Laravel Docker 설치 완벽 가이드 | Composer부터 권한 오류 해결까지 한 번에 (0) | 2025.09.28 |
| Laravel 개발환경, 로컬 설치 없이 Docker로 빠르게 구축하는 법 (0) | 2025.09.26 |
| Docker로 Laravel 개발 환경 쉽게 구성하는 법 (PHP 설치 없이도 OK!) (0) | 2025.09.25 |
| Docker Compose로 개발 환경 자동화하는 법 (Utility Container 활용법 포함!) (0) | 2025.09.24 |