docker的mysql文件无法持久化

更新时间:01-21 教程 由 痴货i 分享

最近我在使用docker来部署mysql,但面临一个很困扰的问题:mysql数据无法持久化。每次重新启动容器,原数据就消失了。

经过一番研究和尝试,我发现原因是因为在docker中运行的mysql容器,容器里的文件系统是临时的,并不会保存数据。因此,我需要使用docker的Volume功能,将容器中的数据挂载到宿主机器上,这样就能保证数据能够持久化下来。

version: '3.1'services:db:image: mysqlvolumes:- "./db_data:/var/lib/mysql"restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: passwordports:- "3306:3306"

如上所示,我使用了docker-compose来启动mysql容器,并将mysql容器内的/var/lib/mysql挂载到宿主机的./db_data目录下,这样以后任何对于mysql容器内/var/lib/mysql的写操作,都会写到./db_data目录下,从而实现数据持久化。

总结一下,使用docker部署mysql时,如需实现数据持久化,需要使用docker的Volume功能,将容器中的数据挂载到宿主机器上。

声明:关于《docker的mysql文件无法持久化》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2262123.html