Docker我们都了解,但是Docker为什么这么火爆在现在的互联网技术里面?
Docker 能解决的问题
环境问题
在进行开发的时候,我们一般都是开发环境,测试环境,正式环境,三套环境。
为了保证正式环境的正确性,防止出现错误,我们都会在测试环境尽量模拟真实环境。这就造成环境搭建的时候一致性的保证。
Docker就十分方便的帮助我们解决了这个问题。一次搭建,处处运行,不再担心环境的问题。
应用搭建问题
进行开发软件的时候,我们需要进行各种工具的搭建。
比如说需要用到Mysql数据库,如果按照原先的搭建方式,那么我们需要使用各种命令去交互学习才能搭建好。
对Linux不熟悉的朋友更加的不方便去搭建一个数据库。但是有了Docker,我们通过pull run 启动数据库就可以了。简单的两个命令搞定繁琐的操作流程和步骤。
是不是很方便?
微服务
随着互联网行业的兴起,单体应用已经不能发挥出很好的作用。我们在开发的过程中需要对程序进行拆分,组装成微服务架构。
Docker就是十分方便的我们去组建微服务的系统,十分快速的进入程序迭代中。
Docker厉害在于镜像
在前几个系列文章中,都学习了Docker的基础命令,Docekr的Dockerfile文件。Docker的扩展工具Docker-compose. 我们在使用Docker 命令都会使用到Docker images .展示我们现在本地具有多少个镜像
ruiqi@FRQ-PC:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 052ca8f03af8 2 weeks ago 381 MB
registry latest 2e2f252f3c88 5 weeks ago 33.3 MB
ubuntu latest cd6d8154f1e1 6 weeks ago 84.1 MB
sequenceiq/spark latest 016b4fce9cd0 3 years ago 2.03 GB
Docker 镜像究竟是什么呢?为什么镜像可以让Docker脱颖而出?带着这两个疑问开始我们下面的学习
Docker 镜像
Docker 镜像 通俗的来说是一个特殊的文件系统。提供容器运行时的程序、库、资源和配置之外,还能够提供运行时准备的配置参数包含卷,环境变量等信息。
镜像时不包含任何的数据,构建完成之后也不会被改变。这就是镜像
特点分层存储
镜像包含操作系统需要的root文件系统体积很大,所以设计的时候充分利用了Union FSde 技术,设计为分层的存储架构。
所以Docker 镜像是由一组组的文件系统构成的,或者是由多文件系统构成。
Docker 分层主要分为 读写层,初始化层,读层。
读写层
读写层位于最上层结构,Docker文件的操作先是在读写层操作,如果找不到那么会逐步的从顶层往下层查找。
读写层在没有文件写入操作的时候,是处于空的状态。有数据写入的时候会按照增量的方式出现这个层级上。
删除读写层文件,需要做的操作是创建一个without文件,将要删除的文件隔离开来,相当于without文件是一堵墙,将删除的文件遮挡住。
读层
最底层的数据层。一般都是基础镜像内容处于这个机构上。
初始化层
内部层级,用来存储hosts resolv.conf文件。
这部分需要在启动的时候输入一部分信息,那么可以有读写的操作。但是这些修改只提供对本容器有作用,不执行commit操作。commit只提交读写层的信息。
最终三者层级包含的内容都会挂在到文件系统里面,最终变现为一个完成的操作系统供容器使用。
网友评论