暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker持久化技术实践指南

IT那活儿 2023-02-24
1015

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!




概述



为了避免容器数据丢失,docker引用了数据持久化的概念,这使得数据不会随着不随着container的结束而结束。

目前docker提供了三种数据持久化方式:
1)Volumes
Docker管理宿主机文件系统的一部分,默认于/var/lib/docker/volumes 目录中。
2)bind mounts
意为着可以存储在宿主机系统的任意位置。
3)tmpfs
挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。




实战演练



准备一台已经安装好Dokcer的Linux主机:

--系统版本:centos7
--Docker版本:20.10.21
--用户:root

--使用镜像:centos:laster

1. volume方式创建

1.1 查看主机是否有容器卷
docker volume list
1.2 运行容器实例,用-v参数创建容器卷,实现数据持久化
docker run -dit --name centos-volume -v centos-volume:/opt/volume centos bin/bash
1.3 查看容器详细信息
docker inspect f99
1.4 进入容器查看是否与主机同步数据
cd /var/lib/docker/volumes/centos-volume/_data/
vim a.txt
docker exec -it f99 bin/bash
cd /opt/volume/
cat a.txt

1.5 停止容器再重启查看数据是否还存在
docker stop f99
docker start f99
docker exec -it f99 /bin/bash
cd /opt/volume/
cat a.txt

1.6 删除容器后再次创建容器实例查看数据是否存在
docker stop f99
docker rm f99
docker run -dit --name centos-volume -v centos-volume:/opt/volume centos /bin/bash
docker exec -it f99 /bin/bash
cd /opt/volume
cat a.txt

2. bind mount方式创建
2.1 使用centos镜像创建容器实例
docker run -dit --name centos-volume-bind -v /opt/bind:/opt/ centos /bin/bash
2.2 查看容器详细信息
docker inspect 4f8f
2.3 进入容器查看是否与主机同步数据
cd /opt/bind/
vim b.txt
docker exec -it 4f8f /bin/bash
cd /opt/
cat b.txt

2.4 停止容器再重启查看数据是否存在
docker stop 4f8f
docker start 4f8f
docker exec -it 4f8f /bin/bash
cd /opt/
cat b.txt

2.5 删除容器后再次创建容器实例查看数据是否存在
docker stop 4f8f
docker rm 4f8f
docker run -it --name centos-volume -v centos-volume:/opt/volume centos /bin/bash
cd /opt
cat b.txt



END


本文作者:何先明(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论