Zeno ZENO

Part 14. Docker Compose로 MySQL 실행하기

이번 글에서는 Docker Compose로 MySQL 데이터베이스 컨테이너를 실행해본다. MySQL 이미지, 환경 변수, 포트, 데이터베이스 생성 과정을 통해 실제 웹 서비스에서 사용하는 DB 환경을 구성한다.

Part 14. Docker Compose로 MySQL 실행하기

1. 이번 Part 목표

지금까지는 Ubuntu 컨테이너만 실행했다.

이번에는 실제 데이터베이스 서버인 MySQL 컨테이너를 실행한다.

이 단계부터 Laravel 프로젝트에서 사용하는 실제 개발 환경에 가까워진다.


2. zenoBlog 구조

현재 zenoBlog는 MySQL을 사용한다.

Laravel

↓

MySQL

Laravel은 데이터를 저장하거나 조회할 때 MySQL과 통신한다.


3. MySQL 기본 포트

MySQL은 기본적으로 3306 포트를 사용한다.

3306

↓

MySQL 기본 포트

Laravel도 보통 3306 포트로 접속한다.


4. docker-compose.yml 수정

이번에는 MySQL 서비스를 추가한다.

services:

  db:
    image: mysql:8.4

    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: zenoblog

    ports:
      - "3306:3306"

5. image란?

image: mysql:8.4

MySQL 8.4 이미지를 사용한다는 뜻이다.


6. environment란?

환경 변수 설정이다.

MySQL이 처음 실행될 때 사용할 설정을 전달한다.

MYSQL_ROOT_PASSWORD

MySQL 관리자 비밀번호

MYSQL_DATABASE

처음 생성할 데이터베이스 이름


7. ports란?

AD

제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다

데이톡 - 매일 100만 회원과 새로운 인연

"3306:3306"

내 PC의 3306 포트와 컨테이너의 3306 포트를 연결한다.


8. docker compose up

docker compose up

실행하면 Docker가 MySQL 이미지를 다운로드하고 컨테이너를 생성한다.


9. 처음 실행 시 일어나는 일

MySQL 설치

↓

root 계정 생성

↓

zenoblog DB 생성

↓

3306 포트 오픈

10. docker ps 확인

실행 중인 컨테이너를 확인한다.

docker ps

MySQL 컨테이너가 실행 중인 것을 확인할 수 있다.


11. 왜 중요한가?

지금부터는 단순한 Ubuntu 컨테이너가 아니라 실제 서비스에서 사용하는 데이터베이스 서버를 실행하는 단계다.

Laravel 프로젝트도 결국 이런 MySQL 서버와 연결된다.


12. Part 14 정리

MySQL = 데이터베이스 서버

3306 = MySQL 기본 포트

image = 사용할 이미지

environment = 초기 설정

docker compose up = 실행

docker ps = 실행 상태 확인

다음 Part에서는 MySQL 컨테이너에 직접 접속하여 데이터베이스와 테이블을 확인해본다.

AD

제휴 광고

일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.

AD

'Docker' 카테고리의 다른 글

전체보기