使用Docker构建MariaDB
翻译:目标
由于每次要使用Docker构建Mysql时都需要在网上搜索,所以我打算将这些内容整理成一篇文章。
目录结构
-
- docker-compose.yml
-
- db/
Dockerfile
sql.sql
my.cnf
建立
docker-compose.yml 文件
db:
container_name: db
restart: always
build:
context: ./db
environment:
MARIADB_ROOT_PASSWORD: tmcit
MARIADB_DATABASE: LESSON
MARIADB_USER: tmcit
MARIADB_PASSWORD: tmcit
TZ: 'Asia/Tokyo'
volumes:
- ./db/data:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ports:
- 3306:3306
Docker文件
FROM mariadb:latest
RUN touch /var/log/mysql/mysqld.log
ADD my.cnf /etc/mysql/conf.d/my.cnf
ADD sql.sql /docker-entrypoint-initdb.d
RUN chmod 644 /etc/mysql/my.cnf
数据库的配置文件是my.cnf。
[mysqld]
# 文字コード、整合順序の設定
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
数据库/SQL.sql
如果在启动MariaDB时想构建数据库的内容,需要创建以下文件。
create database if not exists LESSON;
use LESSON;
create table LESSON_2023(LESSON_ID int auto_increment, LESSON_NAME text, ACCEPTED_GRADE int, PRIMARY KEY (LESSON_ID));
insert into LESSON_2023(LESSON_NAME,ACCEPTED_GRADE)VALUES("国語",1);
登入
$ docker exec -it bf4 /bin/bash
$ mariadb -u root -h localhost -p