【Docker 03】docker的数据共享法宝-数据卷技术

一、数据卷基础介绍

1.数据卷

docker和宿主机进行数据的共享,使用的技术叫做数据卷技术。

场景:如果容器使用msyql 创建了数据库。默认数据库数据存户在容器中的。但是容器随时可能被移动或者删除,数据就随之消失,这是非常不合理的。

或者其他应用场景,我们希望通过配置宿主机的文件,实现容器内部的公用,比如nginx的静态文件,配置文件nginx.conf,如果使用容器内部的数据文件,总需要进入容器,这也是相对比麻烦的。

所以对于docker容器有没有一种基于容器外部的共享配置存储,多个容器之间,无论在哪里启动都可以访问这些文件,如果可以,上述场景的问题就迎刃而解了。

docker提供了数据卷的技术

卷(volume)就是目录或者文件,存在一个或者多个容器中,有docker挂载到容器,但是不输入unionfs,因此能够绕过unionfs,提供持续共享的存储数据。

基本数据卷结构

2.数据卷的特点

  • 数据卷可以在容器之间共享数据

  • 卷中的更改可以直接生效,容器内部的数据也随之更改

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,关于 Docker 数据的进阶篇,我可以为你提供以下内容: 1. 数据的类型 Docker 数据有三种类型:主机挂载、匿名、命名。其中,主机挂载是将主机上的目录挂载到容器中;匿名是在容器内部创建的临时;命名则是给起一个名字,并将其保存在 Docker 数据存储区中。 2. 数据的备份与恢复 我们可以使用 Docker Compose 中的 `docker-compose.yml` 文件来定义数据的备份和恢复。具体方法是,在 `volumes` 字段中定义及其备份路径,然后在 `services` 字段中指定容器和对应的名称。 例如: ``` version: "3" services: db: image: mysql volumes: - db_data:/var/lib/mysql command: --default-authentication-plugin=mysql_native_password backup: image: backup volumes: - /path/to/backup:/backup - db_data:/data/db command: backup.sh volumes: db_data: ``` 以上代码中,我们定义了一个 `db` 服务和一个 `backup` 服务。其中,`db` 服务使用了名为 `db_data` 的命名,并挂载到容器的 `/var/lib/mysql` 目录中;`backup` 服务则使用了两个,一个是挂载到宿主机上的 `/path/to/backup` 目录,用于保存备份文件;另一个是使用了 `db_data` 命名,并挂载到容器的 `/data/db` 目录中,用于备份数据。最后,我们在 `backup` 服务中执行了备份脚本 `backup.sh`。 3. 数据共享 我们可以将一个数据挂载到多个容器中,实现数据共享。例如,我们可以将一个命名挂载到 `web` 和 `db` 两个服务中,这样它们就可以共享数据了。 ``` version: "3" services: web: image: nginx volumes: - web_data:/usr/share/nginx/html db: image: mysql volumes: - db_data:/var/lib/mysql - web_data:/var/www/html volumes: db_data: web_data: ``` 以上代码中,我们定义了一个 `web` 服务和一个 `db` 服务。其中,`web` 服务使用了名为 `web_data` 的命名,挂载到容器的 `/usr/share/nginx/html` 目录中;`db` 服务则使用了 `db_data` 和 `web_data` 两个,分别挂载到容器的 `/var/lib/mysql` 和 `/var/www/html` 目录中,实现了数据共享。 希望以上内容能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex_81D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值