docker环境部署mysql

参考文档

部署步骤

1. 拉取镜像

这里我拉取了tag为5.7的镜像

docker pull mysql:5.7

2. 创建需要映射的目录

因为需要自定义mysql的配置,所以需要一个配置目录;

因为需要将mysql生成的数据挂载到本地,所以需要一个数据目录;

# 创建mysql 数据目录
mkdir -p /root/mysql/data
# 创建配置文件
touch /root/mysql/my.cnf

3. 编辑配置文件

/root/mysql/my.cnf

[mysqld]
explicit_defaults_for_timestamp=true
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8;'

4. 启动

docker run --name mysql57 -p 3306:3306 -v /root/mysql/my.cnf:/etc/my.cnf:ro -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234asdfQ -d mysql:5.7

5. 检测是否启动成功

docker exet -it mysql57 /bin/bash
mysql -uroot -p

上述过程简化成shell自动化脚本

#! /bin/bash
docker pull mysql:5.7
mkdir -p /root/mysql/data
touch /root/mysql/my.cnf

(
cat <<EOF
[mysqld]
explicit_defaults_for_timestamp=true
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8;'
EOF
) > /root/mysql/my.cnf

docker stop mysql57
docker rm mysql57
docker run --name mysql57 -p 3306:3306 -v /root/mysql/my.cnf:/etc/my.cnf:ro -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234asdfQ -d mysql:5.7
posted @ 2020-07-19 22:41  Deacone  阅读(243)  评论(0编辑  收藏  举报