Infra/CI-CD

배포 - Multi App을 만들기위한 Dockerfile (MySQL)

Surge100 2023. 1. 5. 19:07

DB 구성

개발 환경 

운영 환경

Docker를 이용한 MySQL DB 구성

MySQL Dockerfile 작성

Dockerfile

FROM mysql:5.7

MySQL을 시작할 때 Database와 Table이 필요한데 그것들을 생성할 장소를 만들어 준다.

 

 

Database와 Table 만들기

initialize.sql

DROP DATABASE IF EXISTS multiapp;

CREATE DATABASE multiapp;
USE multiapp;

CREATE TABLE lists (
  id INTEGER AUTO_INCREMENT,
  values TEXT,
  PRIMARY KEY (id)
);

 

한글도 data로 저장가능하도록 설정

한들도 data도 저장이 가능하도록 설정파일에 추가할 내용을 작성한 뒤에 Dockerfile을 사용해서 Container안에 설정파일에 덮어씌어준다.

 

my.cnf

[mysqld]
character-set-server=utf8

[mysql]
default-character-set=utf8

[client]
default-character-set =utf8

먼저 MySQL 폴더에 my.conf라는 파일을 생성해준다. 그 뒤에 한글이 깨지는 현상을 막기 위해 utf8로 인코딩할 수 있게 설정 내용을 적는다.

 

Dockerfile

FROM mysql:5.7

ADD ./my.cnf /etc/mysql/conf.d/my.cnf

ADD 명령어로 my.conf 파일에 추가할 내용을 넣는다.

 

 

[출처 -  https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%8F%84%EC%BB%A4-ci/dashboard]