728x90
반응형
SMALL

안녕하세요! 프뚜입니다.

 

docker image를 통해 MariaDB 컨테이너를 생성하고 언어, init.sql 등을 설정하려고 합니다. 모든 파일은 같은 경로에 생성하는 기준으로 작성하겠습니다.


[개발 환경]

- OS: Windows10


# DockerFile 파일 생성하기

# 2023.01.11[프뚜]: docker hub에서 제공하는 mariaDB image
FROM mariadb

# 2023.01.11[프뚜]: ROOT 비밀번호
ENV MYSQL_ROOT_PASSWORD [password]

# 2023.01.11[프뚜]: mariadb 생성시 세팅될 conf
COPY ./default.cnf /etc/mysql/conf.d/default.cnf

# 2023.01.11[프뚜]: mariadb 생성시 실행될 SQL
COPY ./init.sql /docker-entrypoint-initdb.d/init.sql

# default.cnf 파일 생성하기

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
collation-server=utf8mb4_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8mb4
lower_case_table_names=1
skip-character-set-client-handshake
default-time-zone='+9:00'

MariaDB 언어를 설정합니다.


# init.sql 파일 생성하기

# 2023.01.11[프뚜]: DATABASE 생성
CREATE DATABASE PDDU_DB;

# 2023.01.11[프뚜]: USER 생성
CREATE USER 'pddu'@'%' IDENTIFIED BY 'pddu';
GRANT ALL PRIVILEGES ON PDDU_DB.* TO 'pddu'@'%' IDENTIFIED BY 'pddu';
FLUSH PRIVILEGES;

MariaDB 생성 시 실행 될 SQL을 생성합니다.


# docker-compose.yml 파일 생성하기

services:
  mariadb:
    container_name: PDDU_DB
    restart: always
    build:
      dockerfile: ./DockerFile
    ports :
      - "3306:3306"

# docker-compose 실행하기

docker-compose up -d

다른 데이터베이스를 생성하게 된다면 DockerFile에 image(FROM)만 바꾸시면 됩니다.

728x90
반응형
LIST
프뚜