1.搜索MySql镜像
docker search mysql
2.拉取镜像(以MySQL5.7为例)
docker pull mysql:5.7
3.查看拉取结果
docker images
4.创建用于挂载的目录
sudo mkdir -p /usr/data/mysql/logs /usr/data/mysql/data /usr/data/mysql/conf
5.创建自定义配置文件
cd /usr/data/mysql
touch my.cnf
6.创建容器
docker run \
--restart=always \
-p 3306:3306 \
--name mysql \
-v /usr/data/mysql/conf:/etc/mysql \
-v /usr/data/mysql/logs:/var/log/mysql \
-v /usr/data/mysql/data:/var/lib/mysql \
-v /usr/data/mysql/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
命令说明
--restart=always 当docker重启时,容器也重启
--name 容器命名
-p 3306:3306 将宿主机3306和容器3306端口映射
-v /usr/data/mysql/conf:/etc/mysql 将宿主机conf挂载到容器配置目录
-v /usr/data/mysql/logs:/var/log/mysql 将宿主机logs目录挂载到容器日志目录
-v /usr/data/mysql/data:/var/lib/mysql 将宿主机data目录挂载到容器数据目录
-e MYSQL_ROOT_PASSWORD=123456 设置mysql的密码
-d 后台启动(容器不会因为shell退出而停止运行)
7.运行成功
docker ps
8.测试连接MySQL
docker exec -it mysql bash
使用命令行连接数据库,并且创建数据库test
9.使用Navicat连接数据库
可以通过Navicat工具查看到刚才在命令行创建的数据库,如下图所示。