• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > 浅谈Docker数据持久化

浅谈Docker数据持久化

作者:周立 字体:[增加 减小] 来源:互联网

本文主要包含Docker,数据持久化等服务器相关知识,周立 希望可以进行参考

容器中数据持久化主要有两种方式:

  1. 数据卷(Data Volumes)
  2. 数据卷容器(Data Volumes Dontainers)

数据卷

数据卷是一个可供一个或多个容器使用的特殊目录,可以绕过UFS(Unix File System)。

  1. 数据卷可以在容器之间共享和重用
  2. 对数据卷的修改会立马生效
  3. 对数据卷的更新,不会影响镜像
  4. 数据卷默认会一直存在,即使容器被删除
  5. 一个容器可以挂载多个数据卷

注意:数据卷的使用,类似于 Linux 下对目录或文件进行 mount。

创建数据卷

示例:

docker run --name nginx-data -v /mydir nginx

执行如下命令即可查看容器构造的详情:

docker inspect 容器ID

由测试可知:

  1. Docker会自动生成一个目录作为挂载的目录。
  2. 即使容器被删除,宿主机中的目录也不会被删除。

删除数据卷

数据卷是被设计来持久化数据的,因此,删除容器并不会删除数据卷。如果想要在删除容器时同时删除数据卷,可使用如下命令:

docker rm -v 容器ID

这样既可在删除容器的同时也将数据卷删除。

挂载宿主机目录作为数据卷

docker run --name nginx-data2 -v /host-dir:/container-dir nginx

这样既可将宿主机的/host-dir路径加载到容器的/container-dir中。

需要注意的是:

宿主机路径尽量设置绝对路径——如果使用相对路径会怎样?

  1. 测试给答案

如果宿主机路径不存在,Docker会自动创建

TIPS

Dockerfile暂时不支持这种形式。

挂载宿主机文件作为数据卷

docker run --name nginx-data3 -v /文件路径:/container路径 nginx

指定权限

默认情况下,挂载的权限是读写权限。也可使用:ro 参数指定只读权限。

示例:

docker run --name nginx-data4 -v /host-dir:/container-dir:ro nginx

这样,在容器中就只能读取/container-dir中的文件,而不能修改了。

数据卷容器

如果有数据需要在多个容器之间共享,此时可考虑使用数据卷容器。

创建数据卷容器:

docker run --name nginx-volume -v /data nginx

在其他容器中使用-volumes-from 来挂载nginx-volume容器中的数据卷。

docker run --name v1 --volumes-from nginx-volume nginx
docker run --name v2 --volumes-from nginx-volume nginx

这样:

v1、v2两个容器即可共享nginx-volume这个容器中的文件。

即使nginx-volume停止,也不会有任何影响。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • Docker搭建简单的应用栈与容器Hello World访问详解
  • Docker如何同时启动多个服务
  • CentOS 7安装Docker服务详细过程
  • Docker-利用dockerfile来搭建tomcat服务的方法
  • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
  • 详解Docker Swarm服务发现和负载均衡原理
  • 详解Docker创建支持ssh服务的容器和镜像
  • Docker堆栈的管理操作详解
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • Docker实践之搭建wordpress的方法
  • Docker容器中运行flume及启动不输出运行日志问题
  • VMware下Ubuntu 14.04静态IP地址的设置方法
  • CentOS7 禁用Transparent Huge Pages的实现方法
  • docker 深入了解镜像、容器、仓库等概念
  • 详解在Docker容器内外互相拷贝数据的方法
  • VMware设置桥接上网(图文详解)
  • 详解使用Dockerfile创建带Apache服务的CentOS Docker镜像
  • 详解Ubuntu Docker Registry 搭建私有仓库
  • Nucth学习笔记(一),Nucth学习笔记(

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 30分钟带你了解Docker(推荐)
    • ubuntu docker搭建Hadoop集群环境的方法
    • VMware搭建虚拟机服务器
    • Docker 教程之CentOS安装 Docker
    • Docker 打包python的命令详解
    • Docker Volumn容器间共享数据的实现
    • docker run起来之后执行多条命令
    • Docker中容器数据卷(Data Volume)和数据管理详解
    • 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则(图解)
    • docker的高可用配置详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有