一、Docker数据持久化实现以及方案
(1)创建mysql数据库的container
docker run -d --name mysql01 -e MYSQL_ROOT_PASSWORD=jack123 mysql docker ps
(2)查看volume
docker volume ls
(3)进入到mysql001容器中,并且登录
(4)从GitHub官网的MySQL镜像中可以看出,DockerFile中与持久化相关的字段 VOLUME /var/lib/mysql
进入到容器中持久化的目录
查看所有的Volume
docker volume ls docker volume rm -f $(docker volume ls)
docker volume inspect 53832e4b6034b1ccdd1dbd23cac987dc7b6e780e0b47fad06294aeef54a674b2 //进入到指定的目录 cd /var/lib/docker/volumes/53832e4b6034b1ccdd1dbd23cac987dc7b6e780e0b47fad06294aeef54a674b2/_data
docker run -d --name mysql03 -v mysql03_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jack123 mysql docker volume ls
移除Volume,重新查看Volume
查看挂载目录的数据,进入容器mysql03中,通过用户名和密码登录
在MySQL中新增数据库,并且展示数据库中数据
移除MySQL03镜像,并且通过Volume重新生成新的容器,并且验证MySQL容器是是否保存了之前的修改。
//移除对应的镜像 docker rm -f mysql03 //展示Volume目录 docker volume ls // 根据之前的Volume重建信息 docker run -d --name test-mysql -v mysql03_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jack123 mysql