docker mysql镜像的制作(修改配置)
-
得到mysql的配置文件
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 ## 运行出一个MySQL容器 docker cp MySQL容器ID:/etc/mysql/my.conf . ## 拷贝mysql的配置文件my.cnf到当前目录
-
修改MySQL配置文件
在上一步得到的my.cnf文件中(或者直接在当前目录创建一个my.cnf,进行编辑),增加lower_case_table_names=1, 如下:
[mysqld] ##################基础设置################## pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION default-time-zone='+08:00' #数据库默认字符集 character-set-server = utf8mb4 #数据库字符集对应一些排序等规则,注意要和character-set-server对应 collation-server = utf8mb4_general_ci #设置client连接mysql时的字符集,防止乱码 init_connect=‘SET NAMES utf8mb4‘ #是否对sql语句大小写敏感,1表示不敏感 lower_case_table_names = 1
-
编写Dockerfile持久化MySQL配置文件
FROM mysql:5.7 COPY my.cnf /etc/mysql/ EXPOSE 3306 CMD ["mysqld"]
-
根据dockerfile编译新镜像
docker build -t mysqlplus:5.7 --no-cache=true -f Dockerfile .