天天看点

CentOS中使用Dockerfile部署初始化sql文件的mysql

场景

Docker中部署mysql数据库:

CentOS中使用Dockerfile部署带websocket的SpringBoot的jar包:

在上面部署Mysql镜像和会使用Dockerfile的基础上。

如果要实现定制化一个mysql镜像,使容器运行起来就会有数据。

实现

1、新建文件

在服务器上某路径下新建文件夹mysqldockerfile,在此文件夹下新建或者上传如下四个文件

CentOS中使用Dockerfile部署初始化sql文件的mysql

 2、编辑utf8mb4.cnf数据字符编码文件

3、编辑脚本文件install_data.sh

4、编辑Dockerfile文件

5、最后init.sql是数据库sql文件

要注意这里的设置编码的地方

判断是否已经存在数据库,存在则删除掉,然后授予root权限。

最后删除创建表,然后插入表数据时要注意,避免出现中文乱码问题,在插入数据前要添加

比如:

6、构建镜像

注意后面有个点,代表Dockerfile在当前目录

CentOS中使用Dockerfile部署初始化sql文件的mysql

7、运行容器

8、运行成功后查看运行中的容器

CentOS中使用Dockerfile部署初始化sql文件的mysql
CentOS中使用Dockerfile部署初始化sql文件的mysql
CentOS中使用Dockerfile部署初始化sql文件的mysql
CentOS中使用Dockerfile部署初始化sql文件的mysql

9、此时访问数据库应该已经带数据了

如果没有数据,可以查看日志

如果要修改脚本或者配置文件等需要重新执行该过程,需要

停掉容器

删除掉容器

删除掉镜像

然后修改后重新执行上面的过程。