使用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
广告
将在 10 秒后关闭
bannerAds