一、查看可用的 MySQL 版本
1、docker官网查看mysql镜像地址及版本信息:https://hub.docker.com/_/mysql?tab=tags
每个版本后都有拉取mysql镜像的命令。
2、用 docker search mysql 命令来查看可用版本
二、拉取 MySQL 镜像
我们直接拉去最新的mysql镜像。
docker pull mysql:latest
三、查看本地镜像
docker images
四、运行容器
方式一:不将配置文件、数据挂载到虚拟机,缺点:若容器删除后数据及配置文件也会删除
使用以下命令来运行 mysql 容器:
docker run -itd --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
参数说明:
- --name mysql01:mysql容器指定一个名称
- -p 3306:3306 :指定端口映射,映射容器服务的 3306 端口到宿主机的 3306 端口(主机「宿主」端口:容器端口),主机「宿主」可以直接通过宿主ip:3306 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
方式二:将配置文件、数据挂载到虚拟机,优点:若容器删除后数据及配置文件不会丢失
1、使用方式一启动容器(主要用于将配置文件复制到虚拟机,复制后此容器会删除掉)
2、在虚拟机新建文件夹用于存储配置文件及数据(根据个人习惯创建即可)
// 用于存储数据
mkdir -p /mydata/mysql/data
// 用于存储配置文件
mkdir -p /mydata/mysql/conf
3、将(步骤一)容器中配置文件复制到虚拟机
// /etc/mysql/此路径为MySQL的配置文件地址
docker cp 容器ID:/etc/mysql/ /虚拟机路径
4、停掉容器并删除
docker stop 容器ID或name
docker rm 容器ID或name
5、使用以下命令来重新运行 mysql 容器:
docker run -p 3306:3306 --name mysql -v /mydata/mysql/conf:/etc/mysql/ -v /mydata/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
若以后需要修改MySQL配置信息即可在虚拟机conf下配置即可,不需要进入容器中操作,且数据挂载到本地,容器删除后,数据也不会丢失。
五、安装成功
通过 docker ps 命令查看是否安装成功:
六、navicat链接安装好的mysql
在Mac主机通过navicat链接虚拟主机安装好的mysql
七、重启虚拟机之后发现mysql未启动
通过docker ps 命令查询不到刚才安装的名字为mysql01的数据库服务。
docker ps #查看运行中的容器
docker ps -a #查看所有容器
八、当镜像实例已经存在时,重新启动镜像
docker restart 容器名称/容器ID #重启
docker stop 容器名称/容器ID #停止
docker start 容器名称/容器ID #启动
docker rm 容器名称/容器ID #删除
例如重启mysql01的镜像:docker restart 895ea94e6133 或者 docker restart mysql01