在docker中 安装 mysql 8.0版本,参考文档:https://www.runoob.com/docker/docker-install-mysql.html
第一步:安装
docker pull mysql:8.0
创建容器,并链接到网桥 test_network,如何创建网桥,参考:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7)
docker run -d --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Aa123456 --network=test_network mysql:8.0
解释:
MYSQL_ROOT_PASSWORD=Aa123456 表示给登录账户 root 设置密码为 Aa123456
3306:3306 表示对外链接端口
进入容器,验证是否安装成功
docker exec -it mysql bash
执行下边命令查看安装信息,执行命令 exit 可以退出容器!
mysql -u root -p
第二步:持久化
所为持久化就是在本地创建一个数据卷,然后将数据卷挂载到mysql容器即可!
创建数据卷:
docker volume create mysqldata
查看数据卷列表:
docker volume ls
获取数据卷存储位置:
docker inspect mysqldata
如上图所示,新创建的数据卷在目录 /var/lib/docker/volumes/mysqldata/_data 下,也就是说mysql产生的数据会同步到该目录下!
接下来,删除之前的mysql容器,重新创建新的容器,同时挂载数据卷
docker run -d --name=mysql -p 3306:3306 -v /var/lib/docker/volumes/mysqldata/_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Aa123456 --network=test_network mysql:8.0
创建一个数据库:MyTest
通过Xftp工具查看数据卷目录内容,可以快速查看刚才创建的数据库和表
最后使用 Navicat链接 mysql
参考文档:
https://www.cnblogs.com/cheyunhua/p/13433400.html
https://yeasy.gitbook.io/docker_practice/data_management/volume