第一章 Docker基础

容器container  在云时代人们总是在寻找更加轻量级的可以包含应用实现对外提供服务的隔离机制及进程,在KVM和Xen的虚拟化时代的催促下,迎来了容器化时代。

容器标志着在应用编排部署中可以构建更加轻量,合理分配硬件资源和隔离环境的基础下构建应用。

 

1 docker底层的三种机制:

1 LXC: 内核轻量级的操作系统层虚拟化技术

2 namespace 资源隔离机制

3 cgrounp 资源限制管理

 

2 docker 容器技术的特点:

1 极其轻量,只需要打包必要的环境即可使用docker build 产生一个相同与环境的搭建

2 易于移植,一次构建,到处运行

3 秒级部署,由于容器是以最小单位进程去部署的。里面的许多应用都不存在相当于linux系统的最小化

4 弹性伸缩 可以在容器编排的基础上如K8s实现Hpa伸缩

 

在容器化的时代docker走在最前段的核心产品,OCI组织提供了一个开发容器的标准

 

3 容器的运行状态:

1 creating : 创建中,使用create命令创建一个容器

2 created 容器创建出来,但是没有运行,容器可在当前平台运行

3 running 容器的运行状态

4 stopped 容器运行完成,或者运行出错,信息没有被删除。也就是docker/volume 下的挂载点没有删除。

 

4 容器镜像标准

容器的主要应用场景

容器解决了pass服务 平台即服务的这种云计算模式 

openstack cloudstack 解决了laas层的问题。使公司架构在云时代下可以接近底层资源,针对公司业务去扩展。

 

5 容器可以实现的功能:

1 提高现有的安全性与可移植性

2 使用自动化部署提升交付的速度

3 微服务架构得益于容器K8s调度实现微服务架构。解决产品某种功能的实现

4 充分利用基础设施节省资金

 

6 docker的架构也是基于C/S架构

clietn 客户端 

docker daemon 服务器

image 镜像

registry 镜像仓库。帮助企业调度镜像

container docker 容器

也可以使用 --link 实现hosts文件中的映射进而添加集群

 

7 docker 架构组件理解:

docker 客户端Client :学习 docker从命令开始

docker 服务器Damon: docker daemon 是docker的主服务。 在linux系统下使用systemctl 实现对docker的管理及开关

docker 镜像Image : docker 通过镜像来实现版本的管理

docker registry 仓库分为公有及私有 一般自行搭建私有仓库存放镜像

7.1 架构组件详细概念:

1.Docker客户端:Client
Docker的客户端分命令和API两种类型。

API命令使用用命令交互可以结合curl使用。用API可以进行创建、删除、修改、查询等一系列操作,结合编程语言使用的话,功能会更强大。

2.Docker服务器:Docker Daemon
Docker Daemon是Docker的主服务,docker.service。在Linux操作系统下,安装好Docker后我们就可以使用systemctl start/status/stop docker.service命令去操作Docker的服务了。这个服务非常重要,如果系统的docker.service存在异常,那么Docker关联的所有组件都会出错。