Docker的数据持久化

一般来讲   我们通过一个镜像 create 一个容器(create状态)然后start 这个容器  也可以合并成run(create+start)

然后通过docker exec -it 容器id /bin/bash 进入容器  比如进入mysql容器  创建一张表  或者 在外部创建一个文件

退出容器 停止容器 都不会删除这些数据  当你再次重启容器的时候  这些数据还在

不过当你删除这个容器的时候  里面保存的数据会随之消失  即便你又通过相同的镜像创建一个新的容器(你也知道是新的容器)

再进去  数据就没了 

如果想持久化数据  可以通过volume数据卷的方式  将容器的目录映射到宿主机的目录

 

 docker container run -d --name db --env MYSQL_ROOT_PASSWORD=123456 --env MYSQL_DATABASE=test -v /d/docker-demo/mysql-data:/var/lib/mysql mysql:5.7

比如 这个创建 并启动mysql容器的命令  将容器内Mysql存储数据的目录  挂载到宿主机的/d/docker-demo/mysql-data目录下 

就算这个容器销毁了  但数据保存在宿主机中

下次再创建新的容器启动的时候  映射 相同 的目录即可实现  数据持久化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值