参考另一篇Docker安装mysql: https://www.yuque.com/allblue-byynd/cs239m/pct46i

MySQL的数据持久化问题

  1. # 下载容器
  2. docker pull mysql:5.7
  3. -d 后台运行
  4. -p 端口映射
  5. -v 挂载数据卷
  6. -e 环境配置
  7. --name 容器名字
  8. # 运行容器
  9. docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

https://hub.docker.com/_/mysql

官网启动MySQL,设置密码 docker run —name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

image.png

启动成功之后,使用客户端连接

这里我使用的是SQLyog工具连接MySQL数据库
image.png

sqlyog连接服务器的3310端口,3310端口映射MySQL容器的3306端口。

image.png
可以在Linux主机/home目录下查看到mysql文件夹

删除MySQL容器,可以看到Linux主机上/home/mysql/数据依然存在

  1. docker rm -f 容器ID
  2. docker ps -a
  3. cd /home/mysql
  4. ls

image.png
这就是数据持久化