内容简介:容器内部以及容器之间的数据管理是怎么样进行的?其实在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式:
容器内部以及容器之间的数据管理是怎么样进行的?
其实在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式:
- 数据卷(Volumes)
- 挂载主机目录 (Bind mounts)
数据卷
数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:
- 数据卷可以在容器之间共享和重用
- 对数据卷的修改会立马生效
- 对数据卷的更新,不会影响镜像
- 数据卷默认会一直存在,即使容器被删除
注意 : 数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的 数据卷 。
既然数据卷可以对容器的数据进行管理,那么该怎么去创建和使用数据卷呢?
数据卷操作
创建数据卷
可以通过命令 docker volume create 数据卷的名称 来创建一个数据卷,如:
从上图中可以看出我们创建的数据卷my-vol已经存在了。
然后可以通过 docker volume create 数据卷的名称 来查看具体的某个数据卷的信息,如:
启动一个挂载数据卷的容器
在用 docker run 命令的时候,使用 --mount 标记来将 数据卷 挂载到容器里。在一次 docker run 中可以挂载多个 数据卷 。下面创建一个名为 web 的容器,并加载一个 数据卷 到容器的 /webapp 目录。
docker run -d -P \ --name web \ # -v my-vol:/wepapp \ --mount source=my-vol,target=/webapp \ training/webapp \ python app.py
查看数据卷的具体信息
在主机里使用以下命令可以查看 web 容器的信息
$ docker inspect web
数据卷 信息在 "Mounts" Key 下面
"Mounts": [
{
"Type": "volume",
"Name": "my-vol",
"Source": "/var/lib/docker/volumes/my-vol/_data",
"Destination": "/app",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
删除数据卷
docker volume rm my-vol
数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除 数据卷 ,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷 。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个命令。
以上所述就是小编给大家介绍的《Docker学习之数据管理(5)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 数据仓库的“元数据管理”
- 数据安全实践之数据资产管理
- 数据分析:基于智能标签,精准管理数据
- 活动运营需具备的数据管理能力以及数据分析思路
- 数据源管理 | 基于JDBC模式,适配和管理动态数据源
- 数据搬运组件:基于 Sqoop 管理数据导入和导出
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Caching
Duane Wessels / O'Reilly Media, Inc. / 2001-6 / 39.95美元
On the World Wide Web, speed and efficiency are vital. Users have little patience for slow web pages, while network administrators want to make the most of their available bandwidth. A properly design......一起来看看 《Web Caching》 这本书的介绍吧!