docker部署mysql实现数据持久化存储

1,050 阅读1分钟

背景介绍

在一般情况下,docker拉取镜像之后会创建一个容器,停止docker容器,数据不会丢失. docker容器停止并退出,会处于终止(exited)状态,其中的数据不会丢失,可以通过docker ps -a查看;只有删除掉容器,数据才会随着容器的删除被清空。
但是,很多情况下我们需要把docker中与mysql相关的数据存储起来在不同的主机间进行备份传输,最好的方式是把数据和容器抽离出来分开处理。

docker下载

这里通过官方脚本直接下载

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

拉取镜像

docker pull mysql:5.7

创建相应的目录

cd ~
mkdir docker
cd docker
mkdir mysql

挂载数据卷启动容器

docker run -d -p 3306:3306 -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Abc.12345 --name mysql5.7 mysql:5.7

查看宿主机相关目录

cd /docker/mysql/data
ls

正常情况下已经可以看到mysql相关的一些数据文件了。这样我们就实现了数据与容器的分离。