docker运行mysql 8.0挂载数据卷
docker安装mysql
使用docker拉取mysql 8.0的镜像
docker image search mysql //查询镜像仓库中的mysql镜像
docker pull mysql //拉取mysql镜像,默认tags是lastest可以修改为mysql:8.0
挂载文件
目前我所了解到的文件挂载,需要再docker启动时添加挂载指令(-),如果你是已经运行了mysql的容器,需要借助docker cp 将数据文件复制出来(PS:查阅资料,挂载文件时,本机需要一个mysql.conf的配置文件,为了简单操作,一般先起一个容器,将里面的配置文件拷贝出来)
复制mysql配置文件
先运行一个不挂在文件的mysql,再取容器中的数据库配置/etc/mysql
docker run -p 3306:3306 --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
docekr cp mysql-test:/etc/mysql /data/mysqlData/conf
如果是需要挂载已运行的数据库,需要将容器中的/var/lib/mysql文件也一起复制保存到本地
docker cp mysql-test:/var/lib/mysql /data/mysqlData/mysql
其中/data/mysqlData/mysql为本机文件路径