Docker容器数据卷技术介绍

目录
  • Docker容器数据卷技术介绍
    • 一、卷技术介绍
    • 二、使用数据卷

Docker容器数据卷技术介绍

一、卷技术介绍

现在我们知道docker的理念就是把应用和环境打包成镜像,方便我们去运行容器。

但是现在有一个问题,比如我容器里的mysql存了好多的数据,那万一容器被删除,数据是不是就没了?这显然不合适。

于是,一个新的需求产生了:将数据存储在容器之外的地方,比如本地。对应的解决方案就是卷技术了,通过它,将容器中产生的数据同步到本地,让容器之间可以共享数据。

卷技术,说白了就是目录的挂载,将容器内的目录挂载到linux上。如图所示,将容器里的/usr/mysql挂载到外部linux下的/home/mysql。现在不仅mysql容器可以使用,其他的2个容器同样可以使用,实现了数据共享。

所以,卷技术的关键词:持久化、同步、数据共享。

二、使用数据卷

使用命令-v

docker run -it -v 主机目录:容器目录

现在我要启动centos镜像,并且把容器内的/home目录,挂载到主机的/home/test/目录下:

docker run -it -v /home/test:/home centos /bin/bash

可以看到启动容器成功,为了方便,我多开一个窗口。

这时候用docker inspect命令来查看容器,可以看到挂载情况。

docker inspect 370ff4e87083

找到Mounts,可以看到具体绑定明细。

现在容器内的/home目录下是空的,对应的主机的/home/test/下也是空的。

接着,我在容器内的/home下新建个文件new.txt,然后查看主机下的/home目录,发现文件已经同步。

反向操作

上面是从容器内到容器外,现在反过来,从主机目录下再增加一个文件second.txt,然后再到容器内查看,也是同步的。

停止容器

如果容器停止了,我在外面把文件都删掉了,当再次启动容器后进去查看,也是同步的。

重启容器,进入容器的/home下查看,也是空的。

相信现在应该可以体会到容器卷的作用了,比如有些容器里涉及需要改配置的,那么挂载到主机目录下之后,就不需要进入容器修改了,直接在外面修改,容器内自动同步,更多关于Docker容器数据卷的资料请关注我们其它相关文章!

(0)

相关推荐

  • Docker数据卷容器创建及使用方法解析

    数据卷容器是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用.所谓的数据卷容器,实际上就是一个普通的容器,举例如下: 创建数据卷容器 使用如下方式创建数据卷容器: docker run -itd -v /usr/share/nginx/html/ --name mydata ubuntu 命令执行效果如下图: 引用容器 使用如下命令引用数据卷容器: docker run -itd --volumes-from mydata -p 80:80 --name nginx1 nginx

  • Docker容器中数据卷volumes的使用

    目录 选择使用 -v还是—mount -v和—mount的不同行为 启动一个带volume的容器 启动一个带有volumes服务 使用容器加载一个volume 使用只读volume 机器间共享数据 使用volume驱动 总结 volumes是Docker数据持久化机制.bind mounts依赖主机目录结构,volumes完全由Docker管理.Volumes有以下优点: Volumes更容易备份和移植. 可以通过Docker CLI或API进行管理 Volumes可以无区别的工作中Window

  • 详解Docker容器数据卷

    是什么 先来看看Docker的理念: 将运用与运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求希望是持久化的容器之间希望有可能共享数据 Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来, 那么当容器删除后,数据自然也就没有了. 为了能保存数据在docker中我们使用卷. 一句话:有点类似我们Redis里面的RDB和AOF 能干嘛 卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系

  • docker中容器数据卷volume介绍

    目录 docker 容器数据卷volume 使用数据卷 方式一:直接使用命令挂载 -v 方式二:Dockerfile 数据卷容器 总结 docker 容器数据卷volume 如果数据都在容器中,那么我们删除容器的时候数据就会丢失,所以我们希望数据可以持久化. 例如MySQL容器,我们希望数据可以存储在本地,当MySQL容器删除的时候,数据不会丢失. 容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地,这就是卷技术.也就是数据挂载技术,将我们容器内的目录,挂载到Linux上

  • docker挂载本地目录和数据卷容器操作

    1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行 docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 后台运行 docker run -d -v /home/dock/Downloads:/usr/Downloads --name ubuntu1 ubuntu64 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就

  • Docker容器数据卷介绍及操作示例

    目录 容器数据卷介绍 什么是数据卷 数据卷能做什么? 特点 Docker 容器数据卷操作 直接命令添加数据卷 dockerfile 添加数据卷 Docker 数据卷容器 数据卷容器简介 案例演示 容器数据卷介绍 什么是数据卷 将运用与运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求是持久化的. 容器之间希望有可能共享数据. Docker 容器产生的数据,如果不通过 docker commit 生成新的镜像,使得数据做为镜像的一部分保存下载,那么当容器删除后,数据自然也就没有了

  • Docker容器数据卷技术介绍

    目录 Docker容器数据卷技术介绍 一.卷技术介绍 二.使用数据卷 Docker容器数据卷技术介绍 一.卷技术介绍 现在我们知道docker的理念就是把应用和环境打包成镜像,方便我们去运行容器. 但是现在有一个问题,比如我容器里的mysql存了好多的数据,那万一容器被删除,数据是不是就没了?这显然不合适. 于是,一个新的需求产生了:将数据存储在容器之外的地方,比如本地.对应的解决方案就是卷技术了,通过它,将容器中产生的数据同步到本地,让容器之间可以共享数据. 卷技术,说白了就是目录的挂载,将容

  • docker容器数据卷之具名挂载和匿名挂载问题

    目录 什么是容器数据卷 为什么需要容器数据卷 使用 如何查看是否使用了数据卷 具名挂载和匿名挂载 指定路径挂载 具名挂载 匿名挂载 容器与容器之间的数据共享 --volumes-from 什么是容器数据卷 容器数据卷就是目录的挂载,将我们的容器的目录挂载到宿主机上,从而实现打通宿主机和容器之间的文件共享功能: 为什么需要容器数据卷 docker理念就是将应用和环境打包成一个镜像:但是数据怎么办呢?且不说数据库,一个项目在运行过程种肯定会产生大量的日志,这些日志对开发人员来说是非常重要的, 因为有

  • docker<容器数据卷-v>对容器内数据持久化详解(备份)

    目录 前言 正文 数据卷读写规则 数据卷的继承和共享 总结 前言 在docker创建容器,挂载目录的时候,可能会出现目录无法访问无法打开的问题(cannot open directory .: Permission denied) 只需要加一个 --privileged=true 参数即可,加上这个参数代表是以root用户权限进入容器的,不加就是以普通用户权限进入容器的 例如,test镜像创建一个容器t1 docker run -d -p 5555:5555 -v /etc/config:/tm

  • Docker容器数据卷的使用教程

    目录 前言 1.数据卷概念 2.数据卷作用 3.配置数据卷 4.多容器进行数据交换 5.数据卷容器 6.数据卷小结 总结 前言 本文是 Docker 容器的数据卷使用的简单教程,介绍了什么是数据卷.数据卷概念.以及如何使用数据卷等. 1.数据卷概念 数据卷简单来讲就是一个目录,它是由Docker daemon 挂载到容器中的,因此数据卷并不属于联合文件系统,也就是说数据卷里面的内容不会因为容器的删除而丢失.Docker启动后,容器内的文件和宿主机是隔离的,如果不使用docker commit 操

  • Docker容器数据卷原理及使用方法解析

    什么是容器数据卷 如果数据都在容器中,一旦容器删除,数据就会丢失! eg : mysql容器删了,就是我们常说的删库跑路. 需求:数据可以持久化,即时删掉容器,我们的数据还在 容器直接可以有一个数据共享的技术!Docker容器产生的数据,同步到本地! 这就是卷技术!目录的挂载,将我们容器的目录挂载到linux上面! 总结:卷技术就是为了实现数据的持久化和同步操作,容器间也是可以数据共享的 使用数据卷 方式一:直接使用命令来挂载 -v # 命令 docker run -it -v 主机的目录:容器

  • 浅谈Docker 容器数据卷挂载小结

    为了更直观了解数据卷挂载的操作,做个实验一一验证数据卷挂载的各种情况. 情况一.本地不存在文件挂载到容器存在文件 首先是当本地不存在该文件,而容器内存在该文件的情况,尝试把不存在的文件挂载到存在该文件的容器中.以一个 Alpine 镜像为例,这里把一个修改后的 Alpine 镜像打了新标签,叫做 volume_test: # 本地目录不存在 test 文件. $ docker run --name=test -v ~/test.txt:/etc/hosts -d volume_test 0cba

  • Docker中容器数据卷详解

    目录 什么是容器数据卷 数据的覆盖问题 使用数据卷 方式一:直接使用命令挂载 -v 测试挂载卷 方式二:Dockerfile文件 数据卷命令 查看数据卷 方式一:docker inspect 容器ID 方式二:docker volume inspect juming-nginx 挂载三种方式 扩展 什么是容器数据卷 从docker的理念说起,docker将应用和环境打包成一个镜像,运行镜像(生成容器)就可以访问服务了. 如果数据都存在容器中,那么删除容器,数据就会丢失!需求:数据可以持久化 My

随机推荐