简述docker
- docker理念
- docker三要素
- docker平台架构
- docker运行的基本流程
docker理念
一次镜像,处处运行
基于go语言实现的项目
解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
能够使硬件、操作系统和应用程序三者之间的逻辑不变
虚拟机特点:资源占用多,冗余步骤多,启动慢
linux容器不是模拟一个完整的操作系统,而是对进程进行隔离
Docker 容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统
而传统虚拟机则是在硬件层面实现虚拟化。
与传统的虚拟机相比,Docker优势体现为启动速度快、占用体积小。devops 开发兼运维 工种
docker优点:快速部署与交付,快捷的升级与扩缩容,简单的系统运维,更有效的计算资源利用
docker官网: http://www.docker.com
Docker Hub官网:https://hub.docker.com/ //安装docker镜像的仓库docker实质上是在已运行的linux下制造一个隔离文件,docker部署在linux内核的系统上docker部署环境需要时centos7以上,内核版本是3.8以上
cat /etc/redhat-release //查看centos版本
uname -r //查看内核版本
docker三要素
镜像、容器、仓库
镜像:image文件生成的容器实例,本身也是一个文件,称为镜像文件同一个image文件,可以生成多个同时运行的容器实例容器:从面向对象的角度:docker利用容器独立运行的一个或一组应用,容器是用镜像创建的运行实例容器为镜像提供了一个标准、隔离的运行环境,他可以启动、停止、开始、删除每个容器是相互隔离的、保证安全的平台从镜像容器的角度:可以把容器看做是一个简易版的linux环境,和运行在其中的应用程序仓库:集中存放镜像文件的场所仓库分为公开仓库和私有仓库两种形式最大的公开仓库是docker hub
docker平台架构
Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上
然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器
容器,是一个运行时环境Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。
docker运行的基本流程
1、用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。2、Docker Daemon作为Docker架构中的主体部分,首先提供Docker Server的功能使其可以接受Docker Client的请求3、Docker Engine执行Docker内部的一系列工作,每一项工作都是以一个Job的形式的存在。4、Job 的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理动 Graph driver将下载像以Graph的形式存储5、当需要为 Docker创建网络环境时,通过网络管理驱动Network driver创建并配置Docker容器网络环境。6、当需要限制 Docker容器运行资源或执行用户指令等操作时,则通过Exec driver来完成。7、Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。