一、挂载类型

1、volumes

Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式。

使用场景:将容器中的数据持久化到宿主机,比如容器是mysql,容器重启后就没数据了,此时需要保存到宿主机上。

2、bind mounts

将宿主机上的任意位置的文件或者目录挂载到容器中。

使用场景:容器使用一些宿主机上的文件或目录。比如zabbix agent 他需要采集宿主机上的proc目录对其进行监控。

3、tmpfs

挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久化到任何位置,可以使用tmpfs,同时避免写入容器可写层,以提高性能。

使用较少。

二、volumes

1、创建和查看volume

2、使用vloume

注意:也可以使用-v的方式,是老的方式。

docker run -d --name lnmp_web03 -p8889:80 -v nginx_root:/usr/share/nginx/html nginx

3、验证

修改主页

查看主页

直接修改/var/lib/docker/volumes/nginx_root/_data数据,就是修改的容器的数据,当容器挂掉后,我们重新再启动一个新的容器即可。这就是volume的好处啦。

三、bind mounts

bind方式和volume不同之处是:bind方式是直接将宿主机上的某个目录作为源。此目录必须存在,不然会报错。

1、bind方式创建容器

 注意:

1、如果源文件/目录没有存在,不会自动创建,会抛出错误。

2、如果挂载目标在容器中非空目录,则改目录现有内容将被隐藏。

3、使用另外一种方式使用bind

docker run -d --name lnmp_ggg -p8889:80 -v /mnt:/usr/share/nginx/html nginx

2、查看容器

容器里面本来是有内容的,挂载源文件后,会被覆盖,现有内容隐藏起来。

3、编写主页

4、验证

5、查看源目录

四、总结

1、volume特点

  • 多个运行容器之间共享数据。
  • 当容器停止或被移除时,该卷依然存在。
  • 多个容器可以同时挂载相同的卷。
  • 当明确删除卷时,卷才会被删除。
  • 将容器的数据存储在远程主机或其他存储上。
  • 将数据从一台dokcer迁移到另外一台时,先停止容器,然后备份卷的目录(/var/lib/docker/volumes)
  • volume最大的特点:容器初始化时,容器的某个目录映射到宿主机,也就是把容器的数据持久化到volume上。container =>docker host

2、Bind Mounts特点

  • 从主机共享配置文件到容器,默认情况下,挂载主机resolv.conf到每个容器,提供DNS解析。
  • 在Docker主机上的开发环境和容器之间共享源代码。例如,可以将Maven target目录挂载到容器中,每次在Docker上构建Maven项目时,容器都可以访问构建最新的项目包。
  • 当Docker主机的文件或目录结构保证与容器所需的绑定挂载一致时。
  • Bind的最大特点是:容器初始化时,宿主机上的某个目录映射到容器的dst目录,并且dst目录原本有内容也会被覆盖掉,本质是宿主机的volume映射到容器。docker host=>container

总结:

volume适应于多个容器共享数据,方便容器数据持久化!

Bind Mounts适应于宿主机和容器共享文件,比如一个网站要经常更新,可以使用Bind方式,每次启动容器可以获取最新版本!

4、Docker数据管理的更多相关文章

  1. Docker数据管理(四)

    Docker数据管理 Docker数据分为两种: 数据卷 -v /data -v src:dst 数据卷容器 --volumes-from 数据卷 案例1:我们创建一个容器,起名叫nginx-volu ...

  2. Docker数据管理

    用户在使用Docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及到Docker的数据管理. 容器中管理数据主要有两种方式: ...

  3. Docker系统七:Docker数据管理

    Docker的数据管理 I. 基本概念 Docker容器一旦删除,其相关的rootf文件系统就会被删除,其容器内的数据将一并删除,为了保存相关数据,Docker提出了数据卷的概念. II. 数据卷 D ...

  4. Docker数据管理(五)

    一.什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射 ...

  5. Docker数据管理(数据卷&数据卷容器)

    生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 数据卷(Data Volumes):容 ...

  6. Docker实战(四)之Docker数据管理

    在生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及到容器的数据管理操作. 容器中管理数据主要有两种形式: 数据卷:容器内数据直接映射到本地主 ...

  7. 【Docker】第五篇 Docker 数据管理

    一.基本介绍 数据管理的原因:Docker中的容器一旦删除,容器本身的rootfs文件系统就会被删除,容器中的所有数据就会被删除.为了对一些需要持久化的数据,不随容器删除而删除,所以我们可以通过多个容 ...

  8. <Docker学习>5. docker数据管理

    当我们创建了一个tomcat容器,如何简单部署一个web应用?如何将war包放入到容器中?也就是说怎么样把文件从宿主机中 "放入" 到容器中? docker cp命令可以将宿主机本 ...

  9. docker数据管理(2)

    一.docker存储资源类型 docker两种存储资源类型 用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉 ...

  10. 六、【Docker笔记】Docker数据管理

    前几节我们介绍了Docker的基本使用和三大核心概念,那么我们在使用Docker的过程中,Docker中必然产生了大量的数据,对于这些数据我们需要查看或者对这些数据进行一个备份,也有可能容器之间的数据 ...

随机推荐

  1. textbox只允许输入数字

    private void txtUserId_KeyPress(object sender, KeyPressEventArgs e) { //如果输入的不是数字键,也不是回车键.Backspace键 ...

  2. CREATE INDEX (Transact-SQL) 语法 (转载)

    CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON <object> ( column [ ASC | D ...

  3. Oracle中,时间的相关操作方法

    无论是DATE还是timestamp都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加 ...

  4. ORACLE 查看并修改最大连接数

    第一步,在cmd命令行,输入sqlplus,打开登录窗口,如下: 第二步,根据提示输入用户名与密码 请输入用户名:sys as sysdba 输入口令:******** 第三步,查看processes ...

  5. python3: 数字日期和时间(1)

    ---恢复内容开始--- 1. 数字的四舍五入 Q: 你想对浮点数执行指定精度的舍入运算 A: 简单的使用内置的round(value, ndigits)函数即可. >>> roun ...

  6. myeclipse10无法weblogic10.3的问题解决方案

    在完成了myec与wl10的基本配置后,启动报如下错误 Parsing Failure in config.xml: java.lang.AssertionError: java.lang.Class ...

  7. 异常处理(try...catch...final 和 throw , throws)

    1.传统(弱语言)处理异常方式 原理:利用判断来控制异常出现 publicclass Test01 { publicstaticvoid main(String[] args) { Scanner s ...

  8. WorldWind源码剖析系列:下载队列类DownloadQueue

    下载队列类DownloadQueue代表具有优先级的下载队列,该类的存储下载请求的数组链表专门按一定的优先级来存储下载请求的.该类的类图如下. 下载队列类DownloadQueue各个字段的含义说明如 ...

  9. WorldWind源码剖析系列:缓冲类Cache

    缓冲类Cache主要用于在最小的限制条件下保存从远程服务器通过网络下载下来的地理空间数据,以便当用户处于离线状态时能够使用这些已经缓冲好的数据.Google Earth也采用类似机制处理用户离线浏览漫 ...

  10. leetcode18—4Sum

    Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums s ...