Docker容器数据持久化

这篇具有很好参考价值的文章主要介绍了Docker容器数据持久化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker容器数据持久化

Docker容器数据卷:volumes

1、什么是数据卷?

       数据卷是经过特殊设计的目录,可以绕过联合文件系统,为一个或者多个容器提供访问,数据卷设计的目的,在于数据的永久存储,它完全独立于容器的生存周期,因此,docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理,同一个数据卷可以只支持多个容器的访问。

        volumes: 是官方比较推荐也是大型的集群比较常见的一种方式.可以在宿主机或者云端或者在某一个区域创建一块磁盘专门存放容器里的数据或文件,volumes是Docker持久化数据的最好方式,因为与容器的耦合度最低,多个容器可以同时访问一个volumes

2、数据卷的特点

  • 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会被拷贝到新初始化的数据卷中
  • 数据卷可以在容器之间共享和重用
  • 可以对数据卷里的内容直接进行修改
  • 数据卷的变化不会影响镜像的更新
  • 数据卷在宿主机是行会一直存在,即使挂载数据卷的容器已经被删除

3、数据卷常用命令

创建数据卷

[root@zch01 ~]# docker volume create test run -itd -p 8081:80 -v test01:/usr/share/nginx/html nginx

删除卷

命令格式: docker volume rm 卷名

[root@zch01 ~]# docker volume rm test

清理无用数据卷

docker volume prune

查看所有数据卷

[root@zch01 ~]# docker volume ls

Docker容器数据持久化,Docker技术分享,docker,容器,运维,数据卷,volumes,docker数据持久化

查看数据卷详细信息:

命令格式: docker volume inspect 卷名

[root@zch01 ~]# docker volume inspect 5d0ffa3f7a3fd6f401f8d9cfdc46623195afce95c5c309d00d10cb65a65bb38e

Docker容器数据持久化,Docker技术分享,docker,容器,运维,数据卷,volumes,docker数据持久化

容器添加数据卷

[root@zch01 ~]# docker run -v /opt/data:/data -itd centos /bin/bash

/opt/data:为宿主机目录

/data:为容器的里的目录

宿主机的opt/data目录下创建的数据会同步到容器的/data目录下

数据卷添加访问权限

[root@zch01 ~]# docker run --name test -v /opt/data:/data:ro -itd centos /bin/bash

data:ro: 添加只读权限,在容器中只能对data目录只读操作

/opt/data:宿主机目录的操作权限不限

4、数据卷的使用

编写DockerFile文件使用数据卷构建镜像

[root@zch01 ~]# vi dockerfile

FROM centos

VOLUME ["/data1","/data2"]

CMD /bin/bash

构建镜像:

[root@zch01 ~]# docker build -t="volumeimage" .

启动容器:

[root@zch01 ~]# docker run --name volumetest -it volumeimage

进入容器查看会有:data1、data2两个目录

制作数据卷容器

什么是数据卷容器:命名容器为挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据卷的容器,就叫做数据卷容器。

命令格式:docker run --volumes-from [container name]

构建镜像:

[root@zch01 ~]# vi dockerfile

FROM centos

VOLUME ["/data1","/data2"]

CMD /bin/bash

[root@zch01 ~]# docker build -t="datavolume" .

创建数据卷容器

[root@zch01 ~]# docker run --name data-volume -itd datavolume

datavolume:有两个目录data1、data2

进入到数据卷中可以查看

[root@zch01 ~]# docker exec -it data-volume /bin/bash

创建容器使用数据卷容器

在前面已经创建好了数据卷容器,下面在创建新容器是直接挂在数据卷容器

使用命令选项:--volumes-from

[root@zch01 ~]# docker run --name zch01 --volumes-from data-volume -itd centos /bin/bash文章来源地址https://www.toymoban.com/news/detail-688358.html

到了这里,关于Docker容器数据持久化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用docker安装部署elasticsearch,并持久化到容器卷

    1.拉取Elasticsearch Docker镜像 在终端中执行以下命令来从Docker Hub拉取特定版本(如8.2.0)的Elasticsearch镜像。请确保你的网络连接正常,并且Docker已经在你的机器上安装并正确配置。 2.创建挂载目录 执行以下命令在本地创建文件夹,用于持久化 Elasticsearch 的数据和配置。 如果上述文

    2024年04月08日
    浏览(49)
  • yapi容器化docker部署以及mongodb容器的持久化挂载异常问题

    通过docker形式部署yapi,需要准备一个mongodb,然后直接在一个空文件夹里写好Dockerfile,其中通过wget下载yapi的zip包。 基本按照这篇文章:https://www.modb.pro/db/149666 来处理即可 把mongodb的docker 跑起来, --auth 表示需要密码才能访问 注意 原文中启动mongo的容器是这样的 首先创建Mon

    2024年02月14日
    浏览(54)
  • Docker安装mysql&&使用Navicat远程连接mysql容器&&mysql容器的持久化测试

    文章主人公:帅哥BUG😎  文章路人: 路人 🤨  路人 😛 目录 一.安装mysql并配置文件 1.下载相关镜像 2.在宿主机中创建相关目录,用于挂载容器的相关数据 3.conf目录 4.data目录(创建mysql5.7容器) 二.使用Navicat远程连接mysql容器 1.ip addr 获取ip 2.点击连接选择MySql 3.输入ip,密码

    2024年02月03日
    浏览(53)
  • docker的数据卷、docker数据持久化

    环境: centos7.9 docker version 20.10.14 本篇我们来介绍docker的数据卷,数据卷是用于实现docker数据的持久化。 使用docker过程中,我们需要持久化容器中产生的数据,以及容器与容器之间、容器与主机之前进行数据共享、备份等操作,这里就需要到容器的数据持久化管理。 docker的数

    2024年02月09日
    浏览(44)
  • Docker数据持久化

    在容器层的 UnionFS(联合文件系统)中对文件/目录的任何修改,无论是手工修改还是 容器在运行过程中的修改,在该容器丢失或被删除后这些修改将全部丢失。即这些修改是无 法保存下来的。若要保存下来这些修改,通常有两种方式: 定制镜像持久化:将这个修改过的容器

    2024年01月23日
    浏览(60)
  • docker (五)-docker存储-数据持久化

    将数据存储在容器中,一旦容器被删除,数据也会被删除。同时也会使容器变得越来越大,不方便恢复和迁移。 将数据存储到容器之外,这样删除容器也不会丢失数据。一旦容器故障,我们可以重新创建一个容器,将数据挂载到容器里,就可以快速的恢复。 volume 卷 卷存储在

    2024年02月20日
    浏览(50)
  • Docker啥是数据持久化?

    ​ 在容器层的 UnionFS(联合文件系统)中对文件/目录的任何修改,无论是手工修改还是容器在运行过程中的修改,在该容器丢失或被删除后这些修改将全部丢失。即这些修改是无法保存下来的。若要保存下来这些修改,通常有两种方式: 定制镜像持久化:将这个修改过的容

    2024年02月15日
    浏览(42)
  • Docker 数据持久化方案详解

    目录 一、Docker数据持久化概述 1.1联合文件系统 1.2容器的数据卷 1.2.1 什么是数据卷 1.2.2 数据卷特点 1.2.3 Docker提供三种方式将数据从宿主机挂载到容器 二、 Docker持久化方案 2.1 查看volume 基本命令使用方法 2.2 volume持久化方案 2.2.1volume简介 2.2.2.volume特点 2.2.3 挂载指定volume 2.

    2024年02月07日
    浏览(47)
  • 【Docker】Docker 部署 Mysql 并设置数据持久化

    我们使用Docker的目的就是图它方便下载部署,不用常规的经历下载、配置、安装等等繁琐的步骤。但是与此同时Docker也存在一些缺点,像删除容器后数据就都没有了。很显然,不能持久化对于需要数据持久化的MySQL数据库来说是不能接受的,那有没有方式可以解决。 有,通过

    2024年02月10日
    浏览(34)
  • Docker学习路线5:在 Docker 中实现数据持久化

    Docker 可以运行隔离的容器,包括应用程序和其依赖项,与主机操作系统分离。默认情况下,容器是临时的,这意味着容器中存储的任何数据在终止后都将丢失。为了解决这个问题并在容器生命周期内保留数据,Docker 提供了各种数据持久化方法。 Docker 卷 绑定挂载 Docker tmpfs

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包