1、docker存储:

docker存储驱动与联合文件系统:联合文件系统是一种为linux,FreeBSD和NetBSD操作系统设计的,将其他文件系统合并到一个联合挂载点的文件系统

联合文件系统实际上是由存储驱动实现的,相应的存储驱动有aufs、overlay、overlay2、btrfs、zfs、vfs、等

2、选择docker存储驱动的总体原则:

在最常用的场合使用具有有最佳整体性能和稳定性的存储驱动。
如果内核支持多个存储驱动,则docker会提供要使用的存储驱动的优先级列表。
优先使用linux发行版默认的存储驱动。
一些存储驱动要求使用特定格式的底层文件系统,这可能会限制选择。
选择存储驱动还要取决于工作负载的特性和所需的稳定性级别

3、主流的docker存储驱动:

对于当前支持的linux发行版,overlay2存储驱动是首选,centos和RHEL的最新版本现在已经支持overlay2存储驱动,并将overlay2作为推荐的存储驱动

4、docker版本所支持的存储驱动:

对于Docker引擎企业版和Docker EE来说,支持存储驱动的决定性资源是产品兼容性矩阵。建议用户迁移到overlay2存储驱动

对于Docker CE来说,只有部分配置被测试过,并且操作系统的内核不可能支持每个存储驱动, 最佳配置是使用带有支持overlay2存储驱动的内核的现代Linux发行版,并且对于大量的工作负载要使用Docker卷写入,而不是将数据写入容器的可写层

5、docker镜像基于dockerfile的创建

dockerfile是由一组指令组成的文件,每行支持一条指令,每条指令可携带多个参数,一条指令可以用&&方式,去写多条指令,支持以“#”为开头的注释

什么是构建上下文:上下文是由路径(本地文件系统上的目录)或一个URL(git仓库的位置)定义的一组文件。构建上下文以递归的方式处理,本地路径包括其中的任何子目录。URL包括仓库及其子模块。使用当前目录作为上下文的简单构建命令  docker build.

镜像构建过程:

构建过程中一开始将整个上下文递归地发送给守护进程。
docker守护进程逐一运行docker中地指令,每条指令被独立执行并创建一个新镜像。
只要可能,docker将重用过程中的中间镜像(缓存),以加速构建过程。

在编写Dockerfile时,有严格的格式需要遵循:

  • 第一行必须使用FROM指令指明所基于的镜像名称;
  • 之后使用MAINTAINER指令说明维护该镜像的用户信息;
  • 然后是镜像操作相关指令,如RUN指令。每运行一条指令,都会给基础镜像添加新的一 层。
  • 最后使用CMD指令指定启动容器时要运行的命令操作。

创建nginx镜像实验:

先创建目录

docker 磁盘驱动 docker存储驱动有哪些_linux

然后编辑dockerfile和index.html

docker 磁盘驱动 docker存储驱动有哪些_docker 磁盘驱动_02

docker build -t mynginx:v1 .  基于dockerfile构建镜像

-f:指定dockerfile文件,不写默认指定当前目录

-t:指定将镜像名称

.:指定当前目录环境中的文件

docker 磁盘驱动 docker存储驱动有哪些_docker 磁盘驱动_03

然后基于该镜像启动容器进行端口测试

docker 磁盘驱动 docker存储驱动有哪些_运维_04

 浏览器访问192.168.66.134:32768

 

docker 磁盘驱动 docker存储驱动有哪些_docker 磁盘驱动_05