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 파일에 추가할 내용을 넣는다.