1、编写Dockerfile
FROM mysql:5.7.24
# 维护者信息
MAINTAINER liu
# 设置root初始化密码
ENV MYSQL_ROOT_PASSWORD=123456
# 设置mysql字符集
ADD mysql.cnf /etc/mysql/mysql.conf.d/my.cnf
EXPOSE 3306
注意5.7.25版本对于groupby 需要设置一下, 参考 mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题_expression #8 of select list is not in group by cl-CSDN博客
2、编写mysql.cnf文件
lower_case_table_names=1 设置全部小写
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3、编写快速构建脚本 buildDocker.bat
::打包镜像
docker build -t com/liu/mysql .
::推镜像
::docker push com/liu/mysql
::展示镜像
docker images
pause
4、启动
#冒号前面3306是主机端口,冒号后面的3306是容器内部端口
docker run -p 3306:3306 -d com/liu/mysql