云计算-9-Dokcer容器的数据管理
发布于 2024-07-19
921
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
springboot葵花宝典
扫码关注公众号
扫码阅读
手机扫码阅读
云计算-Docker容器的数据管理
什么是数据卷
数据卷是供一个或多个容器使用的特殊目录,绕过UFS(UNIX文件系统),用于数据的持久化存储,独立于容器生命周期。删除容器时不会删除挂载的数据卷,也没有垃圾收集机制处理数据卷。
- 数据卷初始化时会拷贝容器挂载点的数据。
- 数据卷可在容器间共享或重用。
- 数据卷内容可直接修改且不会影响镜像更新。
- 数据卷即使容器删除也能继续存在。
容器的数据卷
为容器添加数据卷
使用 -v 参数可将宿主机路径与容器路径挂载(同步)。例如:
docker run -v /centos/mydata:/data -it centos
这样可将容器内的 /data 目录与宿主机的 /centos/mydata 挂载同步。即使删除容器,数据卷仍然存在。
创建数据卷
数据卷可通过以下命令创建和管理:
docker volume create mycentos docker volume ls docker volume inspect mycentos docker volume rm mycentos
为数据卷添加访问权限
通过 :ro 参数设置数据卷为只读。例如:
docker run -v /centos/mydata:/data:ro -it centos
这样容器内的数据卷目录变为只读,无法创建文件。
使用Dockerfile构建包含数据卷的镜像
在Dockerfile中使用 VOLUME 指令定义数据卷。例如:
FROM nexus.gree.com/centos VOLUME ["/mycentos1","/mycentos2"] CMD /bin/bash
构建镜像后启动容器,会自动创建定义的多个数据卷。
Docker的数据卷容器
什么是数据卷容器
数据卷容器是挂载数据卷的容器,其他容器可通过它实现数据共享。
使用 --volumes-from 参数挂载数据卷容器。例如:
docker run --name mycentos3 -it mycentos:v1 docker run --name mycentos4 --volumes-from mycentos3 -it mycentos:v1
新容器可访问数据卷容器中的数据。
Docker cp指令
Docker cp指令用于容器与宿主机间的数据复制,有两种格式:
docker cp CONTAINER:SRC_PATH DEST_PATH docker cp SRC_PATH CONTAINER:DEST_PATH
示例:
docker cp /mydata/test 8899992:/mydata docker cp 8899992:/mydata /mydata/
选项 -L 可保持源目标中的链接。
springboot葵花宝典
springboot葵花宝典
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
springboot葵花宝典的其他文章
Docker 实践宝典:镜像操作应用指南
Docker 镜像和容器是 Docker 生态系统的两个最重要的概念。本文将介绍它们的基本概念、操作和使用方法。
Redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?
Redis持久化
SpringBoot-13-使用JdbcTemplate链接Mysql数据库
SpringBoot-13-本章就介绍使用JdbcTemplate链接mysql。
Seata:分布式事务管理代码实现
Seata:分布式事务管理代码实现
Vue结合Vuex和Vue-Router进行JWT身份验证
我们将使用 Vuex 和 Vue-Router 构建一个支持前端Vue项目 JWT 身份验证
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线