docker持久化存储 34

作者 : 慕源网 本文共1531个字,预计阅读时间需要4分钟 发布时间: 2021-12-17 共387人阅读

docker持久化存储

Docker的镜像是只读的,但是容器是可写的,我们可以将数据写入到容器,不过一旦容器删除数据将会丢失,

持久化存储,就是将数据保存到硬盘或设备中,使得在应用程序或机器重启后可以继续访问之前保存的数据。有两种主要类型的数据存储,易失性存储和非易失性存储。在 docker 容器化平台中,持久化存储就是数据卷持久化存储。

语法:

docker run -d --name=< image name > --mount source=< source path >, destination= < destination path > < docker image name >

1)docker:我们可以在语法或命令中使用docker关键字。它将接受不同的参数,如run、镜像路径、存储类型等。根据提供的输入,docker 命令将能够执行必要的操作并启动容器。

2) 参数: docker 环境中提供了多个参数 如(它将用于在后台运行 docker 镜像)、–name(我们可以为 docker 镜像提供自己的镜像名称)、destination(我们可以定义目标路径)等。根据需要,我们可以使用不同的标志作为与 docker 命令兼容的参数。

3) –mount source:根据需要,我们可以对docker命令使用不同的存储参数。

在docker中,持久化存储就是数据卷持久化存储。持久存储是指当我们停止或删除容器时,数据不会丢失。一旦docker容器不可用,它不会自动删除。我们可以在启动 docker 容器的同时定义持久化存储层。一旦定义,实际数据将存储在外部存储层上,该层不属于 docker 环境的一部分。存储层会在宿主机、远程机器、云端等。

在 docker 中,有三种不同的数据存储方式。

1. bind mounts
2. volumes
3. in-memory storage (tmpfs)

Bind mounts:bind mounts是将文件或目录挂载到 docker 容器的一种很古老的方法。与volume(卷)相比,bind mounts的功能有限。当我们使用bind mounts方法时,我们需要定义本地文件或者本地机器本地目录到docker容器的完整路径。在使用bind mounts时,我们需要依赖本地机器文件结构。

volume(卷):卷存储也称为docker的持久化数据存储层。docker 卷的默认路径是 /var/lib/docker/volumes。每当我们创建卷或将卷关联到 docker 容器时。默认情况下,卷将存储在“/var/lib/docker/volumes”路径中。卷更容易安装或迁移。如果我们要删除 docker 容器,存储层上仍然存在该卷。然后我们可以将相同的卷用于下一个或不同的 docker 容器。它将使用以前由旧容器使用的相同数据。

tmpfs mounts(临时存储文件):当我们启动 docker 容器时,没有定义像 mount 或 volume 这样的存储层。docker 容器将在内存存储文件系统下运行。它将临时存储数据。一旦我们删除或停止 docker 容器,数据就会消失。如果我们需要在同一个 docker 容器上工作,我们需要再次重新运行或加载数据。

例子

在 docker 环境中,我们可以向 docker 镜像添加持久存储。

命令:

docker run -d --name=own_img --mount source=nginx-vol,destination=/usr/share/nginx/html nginx

解释:

按照上面的命令,我们正在向 Nginx docker 镜像添加持久存储。在这里,我们使用容器名称作为“own_img”。

输出:

这是 docker持久化存储 的指南。这里我们讨论介绍、语法、持久化存储 Docker 是如何工作的?代码实现的例子。

 


慕源网 » docker持久化存储 34

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录