加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

Docker 卷到底是个啥东西?从使用到深入!

发布时间:2021-05-12 20:56:35 所属栏目:云计算 来源:互联网
导读:Docker 支持持久化和非持久化两种方式的存储。 非持久化化存储自动创建,从属于容器,生命周期与容器相同,即删除容器也会删除全部非持久化数据。 如果想把容器中的数据保留下来,也就是持久化,那么需要将数据存储到卷上。卷与容器是解耦的,从而可以独立地

Docker 支持持久化和非持久化两种方式的存储。

  • 非持久化化存储自动创建,从属于容器,生命周期与容器相同,即删除容器也会删除全部非持久化数据。
  • 如果想把容器中的数据保留下来,也就是持久化,那么需要将数据存储到卷上。卷与容器是解耦的,从而可以独立地创建并管理卷,并且卷也不与任意容器声明周期绑定,即用户删除一个关联了卷的容器,但是卷并不会被删除。

非持久化存储

每个容器都会被自动分配本地存储。默认情况下,容器全部文件和目录都是用该存储的。非持久存储属于容器的一部分,并且与容器的生命周期一样---容器创建时会创建非持久化存储,同时该存储也会随着容器的删除而删除。

在 Linux 系统中,该存储目录在 /var/lib/docker/ 下,是容器的一部分。这个 storage-driver 是指要使用的存储驱动。假如要想在生产环境中使用 Linux 运行 Docker,需要确认当前的存储驱动是否符合当前 Linux 版本:

  • RedHat Enterprise Linux:Docker 17.06 或者更高的版本中使用 Overlay2 驱动。
  • Ubuntu:使用 Overlay2 或者 AUFS 驱动。如果正在使用 Linux 4.x 或者更高版本的内核,建议使用 Overlay2。

总的来说,Overlay2 驱动正在逐渐流行,可能在未来会成为大多数平台上的推荐存储驱动。

持久化

容器中持久化数据的方式推荐使用卷,也就是先创建卷,接着将卷挂载到容器上。这个时候,卷会挂载到容器文件系统的某个目录中,任何写到该目录下的内容都会写到卷中。即使容器被删除了,卷及其上面的数据也仍然存在。

如下图所示,Docker 卷就被挂载到了容器的 /code 目录,那么任何写入 /code 目录中的数据其实都是写入到 Docker 卷中,并且这个 Docker 卷在容器删除之后依然存在。而其他目录使用的都是临时的本地存储。


(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读