上一章docker开发教程请查看:docker容器链接使用和操作步骤
这一章我们开始讨论docker存储技术相关的原理和操作。
一、存储驱动程序Docker有多个存储驱动程序,允许一个驱动程序处理底层存储设备。下表显示了不同的存储驱动程序以及用于存储驱动程序的技术。
技术 | 存储驱动程序 |
OverlayFS | overlay或overlay2 |
AUFS | AUFS |
BTRFS | brtfs |
设备管理器 | 设备管理器 |
VFS | VFS |
ZFS | ZFS |
AUFS
- 这是一个稳定的驱动程序,可用于生产的应用程序。
- 它具有良好的内存使用量,是确保顺序使用docker容器而体验良好。
- 没有与此驱动程序应考虑相关的高写入活动。
- 这是很好的为它们的平台作为一种服务型的工作体系。
- 这是一个稳定的驱动程序,确保docker平稳的体验。
- 此驱动程序有利于在实验室中测试应用程序。
- 此驱动程序是与主要的Linux内核功能在同一线上。
- 此驱动程序是与主要的Linux内核功能线。
- 没有与此驱动程序应考虑相关的高写入活动。
- 此驱动程序是使得维护多个构建池情况良好。
- 这是一个稳定的驱动程序,它是与主Linux内核的功能线。
- 它具有良好的内存使用情况。
- 此驱动程序有利于在实验室中测试应用程序。
- 这是一个稳定的驱动程序,它有利于在实验室中测试应用程序。
- 这对于系统是很好的,其平台作为一种服务型的工作体系。
Docker info命令语法
docker info
返回值:该命令将提供安装在docker主机的docker组件的所有相关信息。
Docker info使用例子
sudo docker info
下面的输出显示所使用的主要驱动是AUFS驱动器,以及根目录被存储在/var/lib/docker/aufs中
文章图片
二、数据卷在docker你可以跨容器共享一个单独的卷,这些被称为数据卷,一些数据卷的特点是:
- 创建容器时被初始化。
- 包括许多容器中它们可以共享和重复使用。
- 对卷本身的任何更改都可以直接进行。
- 即使在删除容器之后,它们仍然存在。
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命令时使用卷驱动程序参数来实现。下面给出了一个示例:
sudo docker run -d -volume-driver=flocker -v /home/demo:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins
卷驱动程序选项用于为容器指定另一个存储驱动程序。
文章图片
要确认驱动程序已经更改,首先让我们使用docker ps命令查看正在运行的容器并获取容器ID:
sudo docker ps
然后使用docker inspect检查容器,并使用该命令将输出放到文本文件中。
文章图片
如果浏览文本文件并转到写有VolumeDriver的行,你将看到驱动程序名称已经更改。
四、创建卷可以使用docker命令预先创建卷,让我们进一步了解这个命令。
语法如下:
docker volume create –-name=volumename –-opt options
选项
- 名称– 这是一个需要创建的卷的名称。
- 选择– 这些选项可以在创建卷时提供。
sudo docker volume create --name=demo --opt o=size=100m
在上面的命令中,我们创建了一个大小为100MB、名为demo的卷。
五、列出所有卷还可以列出docker主机上的所有docker卷。关于这个命令的更多细节如下所示:
docker volume ls
该命令将输出所有的docker主机上的卷,使用例子如下:
sudo docker volume ls
【docker存储技术原理和操作介绍——docker开发教程】上述命令的输出如下所示:
文章图片
推荐阅读
- docker网络通信操作介绍——docker开发教程
- docker容器链接使用和操作步骤——docker开发教程
- Docker文件指令命令使用介绍——docker开发教程
- 3步解决!docker构建Web服务器Docker文件——docker开发教程
- docker使用私有registry容器、创建私有仓库详细步骤——docker开发教程
- docker hub管理端口介绍和详细操作——docker开发教程
- docker hub公共存储库创建和使用完全解读——docker开发教程
- docker容器和shell命令、创建和构建docker文件全解——docker开发教程
- docker架构、windows主机操作容器、配置详细介绍——docker开发教程