【日常记录-Docker】构建自定义MySQL镜像
创始人
2024-11-15 03:32:41
Author:赵志乾 Date:2024-08-02 Declaration:All Right Reserved!!!

1. 概述

        自定义MySQL镜像,使其在启动时执行指定的SQL脚本;

2. 文件说明

        总共3个文件:my.cnf、db.sql、Dockerfile,且三个文件放在同一个目录。

        mysql的配置文件,文件名为my.cnf,内容如下:

[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' default_authentication_plugin = mysql_native_password default-time-zone='+08:00' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci expire_logs_days=1 skip-character-set-client-handshake skip-name-resolve secure_file_priv=null skip-log-bin

        自定义sql文件,文件名为db.sql,内容如下:

#创建数据库 create database if not exists mydb; #切换数据库 use mydb; #创建数据表 create table if not exists `input_data` (     `id`          bigint(20)    unsigned   not null auto_increment,     `task_id`     varchar(50)              not null    default '0'   comment '任务id',     `iteration`   int(10)                  not null    default 0     comment '迭代次数',     `value`       longblob                 not null                  comment '数据内容',     `create_time` datetime                 not null    default CURRENT_TIMESTAMP,     `update_time` datetime                 not null    default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,     primary key             (`id`)                   using btree,     unique index `uniq_idx` (`task_id`, `iteration`) using btree ) comment = '输入数据' collate ='utf8mb4_0900_ai_ci' engine =InnoDB auto_increment=1 ; 

        Dockerfile内容如下:

FROM mysql:8.0.26  COPY my.cnf /etc/mysql/my.cnf COPY db.sql /docker-entrypoint-initdb.d/db.sql RUN chmod a+x /docker-entrypoint-initdb.d/db.sql

3. 镜像构建与容器运行

# 构建镜像 docker build --no-cache -f ./Dockerfile -t custommysql:8.0.26 . # 运行容器 docker run -p 3308:3306 --name custommysql -e MYSQL_ROOT_PASSWORD=123456 -v /project/mysql:/var/lib/mysql -d --restart=always custommysql:8.0.26

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...