我今年19了,人生还有多少22K?
Docker是一个开源的应用容器化引擎,docker就像一个玻璃瓶子一样,它使用的沙箱机制,相互之间不会有任何接口。Docker可以使开发者打包自己的应用和依赖包到一个容器中,并且这个容器是可移植的,然后发布到任何一台生产环境的Linux机器上,当然也可以运行在Windows的主机上,但是这是不推荐的。并且Docker可以实现虚拟化。Docker使用Go语言编写而成,在2013年正式发行,遵循Apache 2.0的协议许可。
Docker的组成:
1.Docker客户端:
用来连接Docker守护进程,实现用户与Docker守护进程的交互。
2.Docker守护进程:
用来处理Docker客户端的请求,进行相关的操作。
3.Docker镜像:
Docker的镜像存储在DockerHub上,用户可以在DockerHub拉取镜像进行使用,或者注册DockerHub账号上传自己开发打包的Docker镜像发布供人使用。Docker的镜像就是一个只读的文件。它是一个Docker用来启动容器的文件模板。Docker用Docker镜像创建Docker容器并运行。
4.Docker容器:
Docker容器用来运行开发者打包发布的应用。容器是从镜像创建的运行实例,它可以启动、停止、删除等。每一个容器是相互隔离的,也就是沙箱机制,这也就保证的平台的安全性。我们可以把Docker的容易看做是一个简易版的Linux环境,它带有开发者打包的应用和运行依赖库。
5.Docker仓库:
Docker的仓库就是存放Docker镜像的地方。在仓库注册服务器中存放着好多仓库,仓库分为公共仓库和私有仓库,最大的仓库是DockerHub,DockerHub存放了很多镜像供用户下载。在仓库中又有多个镜像,每个镜像会有不同的标签,这在编译Docker镜像的时候可以通过-t参数指定Docker编译出来的镜像文件的标签。用户可以通过本地的局域网构建自己的Docker私有仓库。当用户创建自己的镜像以后,就可以上传到自己的私有本地仓库中,这样可以大大提高docker在获取镜像的时候速度,这在生产环境中是极为有利的。
Docker的架构:
Docker使用C/S的架构模式,Docker 的守护进程作为服务器端来接受Docker客户端的请求,并处理这些请求。比如创建docker容器,删除Docker的镜像。
Docker的特点:
1.Docker基于LXC的轻量级虚拟化特点,这要比VMware或KVM之类的虚拟化软件启动快,占用系统资源也会比较小。
2.使用Docker可以轻松并且快速的构建标准化的运行环境。
3.Docker不是KVM等其他虚拟化产品的替代品,Docker不是全能的。
4.LXC是一个基于cgroup等Linux内核功能的,因此容器的客户系统只可以是以Linux基础的。
5.Docker对磁盘的管理功能比较有限。
6.Docker容器就是一个进程,当进程销毁后,数据信息(比如日志文件)不易采集进行数据分析。
7.Cgroup的CPU和CPUset提供的CPU功能相比KVM或VMware等的虚拟化解决方案更加难以度量。
8.隔离性相比KVM还是有些欠缺,因为Docker的容器公用一部分的运行库.
9.Docker的网络管理相对简单,主要是用namespace进行隔离。
10.总而言之,Docker必然是云计算领域势。