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镜像实验:
先创建目录
然后编辑dockerfile和index.html
docker build -t mynginx:v1 . 基于dockerfile构建镜像
-f:指定dockerfile文件,不写默认指定当前目录
-t:指定将镜像名称
.:指定当前目录环境中的文件
然后基于该镜像启动容器进行端口测试
浏览器访问192.168.66.134:32768