这里配置只做开发用,生产环境请根据需要修改或自行搜索其他说明
使用docker安装mysql,目前版本5.7.4(当前时间 2018.1.11)
环境 vm: Centos7
镜像来源 https://dashboard.daocloud.io/packages/fa51c1d6-9dc2-49d9-91ac-4bbfc24a1bda
镜像地址 : daocloud.io/library/mysql
执行脚本:
docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /etc/mydockercfg/mysql/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -p 3306:3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci mysql --lower_case_table_names=1
-d 容器在后台运行
-e MYSQL_ROOT_PASSWORD=admin 配置mysql root的密码
-v 对mysql 的配置文件和数据存储路径进行映射到宿主机,对数据持久化
my.cnf是配置文件名,(可以是空文件,有需要的时候再修改)。/etc/mydockercfg/mysql和/opt/mysql/data是宿主机目录
-p 端口映射
--name 定义容器的名称
--lower_case_table_names=1 定义数据库不区分表名大小写
--character-set-server=utf8mb4 设置数据库字符集为utf-8(解决中文乱码的问题)
--collation-server=utf8mb4_unicode_ci utf8字符排序规则
mysql:latest 镜像名称 latest最新版本,可以省略 (mysql <=> mysql:latest),也可以使用镜像mariadb (mysql的一个分支)
相关资料:
Docker 安装MySQL | 菜鸟教程:http://www.runoob.com/docker/docker-install-mysql.html
docker mysql 数据持久化到本地、设置不区别表名大小写 http://blog.51cto.com/binuu/1943176
mariadb镜像地址: https://hub.docker.com/_/mariadb/