Docker——项目实战(六)(1)

一、Docker数据持久化实现以及方案


(1)创建mysql数据库的container


docker run -d --name mysql01 -e MYSQL_ROOT_PASSWORD=jack123 mysql
docker ps 


Docker——项目实战(六)(1)


(2)查看volume


docker volume ls


Docker——项目实战(六)(1)


(3)进入到mysql001容器中,并且登录


Docker——项目实战(六)(1)


(4)从GitHub官网的MySQL镜像中可以看出,DockerFile中与持久化相关的字段 VOLUME /var/lib/mysql


Docker——项目实战(六)(1)


进入到容器中持久化的目录


Docker——项目实战(六)(1)


查看所有的Volume


docker volume ls
docker volume rm -f $(docker volume ls)


Docker——项目实战(六)(1)


docker volume inspect 53832e4b6034b1ccdd1dbd23cac987dc7b6e780e0b47fad06294aeef54a674b2
//进入到指定的目录
cd /var/lib/docker/volumes/53832e4b6034b1ccdd1dbd23cac987dc7b6e780e0b47fad06294aeef54a674b2/_data


Docker——项目实战(六)(1)


docker run -d --name mysql03 -v mysql03_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jack123 mysql

docker volume ls 


Docker——项目实战(六)(1)


移除Volume,重新查看Volume


Docker——项目实战(六)(1)


Docker——项目实战(六)(1)


查看挂载目录的数据,进入容器mysql03中,通过用户名和密码登录


Docker——项目实战(六)(1)


在MySQL中新增数据库,并且展示数据库中数据


Docker——项目实战(六)(1)


移除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


Docker——项目实战(六)(1)


Docker——项目实战(六)(1)

上一篇:原型模式 与 建造者模式(2)


下一篇:Docker——容器编排(七)(1)