1.进入https://hub.docker.com/ docker镜像下载官网
2.搜索mysql
3.点击OFFICIAL IMAGE
4.点击 Tags 可以看到 mysql的各种版本
5 如我们要下载5.7版本的mysql 可以使用命令
sudo docker pull mysql:5.7
6 使用sudo docker images命令来检查下载好的mysql镜像
7 创建实例 并启动 要使用root账号操作如下命令
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明:
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
8使用docker ps 命令查看mysql是否启动成功
9 进入mysql容器内部
docker exec -it mysql /bin/bash
其中mysql 是第8步骤截图看到的names
使用 ls / 可以看到一个完整的linux 结构 【docker的每个实例容器就是一个mini版的linux】
10 可以使用命令 查看mysql安装路径
11.修改mysql配置文件
vi /mydata/mysql/conf/my.cnf
[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
skip-name-resolve
12 修改配置后 重启mysql
docker restart mysql
增加my.cnf配置后可能重启不成功 修改权限 chmod 777 my.cnf 解决