- Docker 教程
- Docker-主页
- Docker - 概述
- Docker - 在 Linux 上安装 Docker
- Docker - 安装
- Docker-集线器
- Docker - 图像
- Docker-容器
- Docker - 使用容器
- Docker-架构
- Docker - 容器和主机
- Docker - 配置
- Docker - 容器和外壳
- Docker-文件
- Docker - 构建文件
- Docker - 公共存储库
- Docker - 管理端口
- Docker - 私有注册表
- 构建 Web 服务器 Docker 文件
- Docker - 指令命令
- Docker - 容器链接
- Docker-存储
- Docker - 网络
- Docker - 设置 Node.js
- Docker - 设置 MongoDB
- Docker - 设置 NGINX
- Docker-工具箱
- Docker - 设置 ASP.Net
- Docker-云
- Docker-日志记录
- Docker-撰写
- Docker——持续集成
- Docker-Kubernetes 架构
- Docker - Kubernetes 的工作
- Docker 有用的资源
- Docker - 快速指南
- Docker - 有用的资源
- Docker - 讨论
Docker-存储
存储驱动程序
Docker 有多个存储驱动程序,允许其与底层存储设备一起工作。下表显示了不同的存储驱动程序以及用于存储驱动程序的技术。
技术 | 存储驱动程序 |
---|---|
覆盖文件系统 | 覆盖或覆盖2 |
AUFS | 奥夫斯 |
Btrfs | 布尔特文件系统 |
装置经理 | 装置经理 |
虚拟FS | 虚拟文件系统 |
ZFS | 兹夫斯 |
现在让我们讨论一些使用各种存储驱动程序的实例 -
AUFS
这是一个稳定的驱动程序;可用于生产就绪的应用程序。
它具有良好的内存利用率,有利于保证容器的流畅 Docker 体验。
应考虑与此驱动程序相关的高写入活动。
它对于平台即服务类型工作的系统很有用。
设备映射器
这是一个稳定的驱动程序;确保流畅的 Docker 体验。
该驱动程序非常适合在实验室中测试应用程序。
该驱动程序符合 Linux 内核的主要功能。
Btrfs
该驱动程序符合 Linux 内核的主要功能。
应考虑与此驱动程序相关的高写入活动。
该驱动程序非常适合维护多个构建池的实例。
奥韦莱
这是一个稳定的驱动程序,并且符合 Linux 内核的主要功能。
它具有良好的内存利用率。
该驱动程序非常适合在实验室中测试应用程序。
ZFS
这是一个稳定的驱动程序,非常适合在实验室中测试应用程序。
它对于平台即服务类型工作的系统很有用。
要查看正在使用的存储驱动程序,请发出docker info命令。
句法
docker info
选项
没有任何
返回值
该命令将提供 Docker 主机上安装的 Docker 组件的所有相关信息。
例子
sudo docker info
输出
以下输出显示使用的主要驱动程序是aufs驱动程序,根目录存储在/var/lib/docker/aufs 中。
数据量
在 Docker 中,您有一个可以在容器之间共享的单独卷。这些被称为数据卷。数据量的一些特征是 -
- 它们在创建容器时被初始化。
- 它们可以在许多容器之间共享和重用。
- 可以直接对卷本身进行任何更改。
- 即使容器被删除后它们仍然存在。
让我们看看我们的 Jenkins 容器。让我们进行docker 检查来查看该图像的详细信息。我们可以发出以下命令将dockerspect命令的输出写入文本文件,然后相应地查看该文件。
sudo docker inspect Jenkins > tmp.txt
当您使用more 命令查看文本文件时,您将看到一个条目JENKINS_HOME=/var/Jenkins_home。
这是通过 Jenkins 镜像在容器内完成的映射。
现在假设您要将容器中的卷映射到本地卷,那么您需要在启动容器时指定 –v 选项。下面显示了一个示例 -
sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
–v 选项用于将容器中的卷/var/jenkins_home映射到 Docker 主机上的位置/home/demo。
现在,如果您在启动容器后转到Docker 主机上的/home/demo位置,您将看到那里存在的所有容器文件。
更改容器的存储驱动程序
如果您想更改用于容器的存储驱动程序,可以在启动容器时执行此操作。这可以通过在使用docker run命令时使用–volume-driver参数来完成。下面给出一个例子 -
sudo docker run –d --volume-driver=flocker –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
–volume-driver选项用于为容器指定另一个存储驱动程序。
为了确认驱动程序已更改,首先让我们使用docker ps命令查看正在运行的容器并获取容器 ID。因此,首先发出以下命令 -
sudo docker ps
然后对容器发出docker 检查,并使用命令将输出放入文本文件中。
sudo docker inspect 9bffb1bfebee > temp.txt
如果浏览文本文件并转到VolumeDriver行,您将看到驱动程序名称已更改。
创建卷
可以使用docker命令预先创建卷。让我们详细了解一下这个命令。
句法
docker volume create –-name=volumename –-opt options
选项
name - 这是需要创建的卷的名称。
opt - 这些是您在创建卷时可以提供的选项。
返回值
该命令将输出创建的卷的名称。
例子
sudo docker volume create –-name = demo –opt o = size = 100m
在上面的命令中,我们创建一个大小为 100MB 且名称为 demo 的卷。
输出
上述命令的输出如下所示 -
列出所有卷
您还可以列出docker 主机上的所有docker 卷。下面给出了有关此命令的更多详细信息 -
句法
docker volume ls
选项
没有任何
返回值
该命令将输出docker 主机上的所有卷。
例子
sudo docker volume ls
输出
上述命令的输出如下所示 -