蓝盟IT小贴士,来喽!
一、个人资料
1、了解docker的前生LXC
LXC是Linux容器的简称。 可以提供轻量级虚拟化以将流程和资源分开。 此外,不需要提供指令解释机制或整个虚拟化的复杂性。 中所述情节,对概念设计中的量体外部表面积进行分析。 容器可以有效地将由一个操作系统管理的资源划分为孤立的组,并在孤立的组之间平衡竞争的资源使用需求。
与传统的虚拟化技术相比,好处包括:
)1)使用与汇主机相同的核心,性能损失小;
)2)不需要命令级的模拟
)3)不需要即时(Just-in-time )编译
4 )容器可以在CPU核心的本地执行指令,不需要特别的解释机制;
5 )避免准虚拟化和系统调用更换中的复杂性;
(6)轻量级隔离在隔离的同时提供共享机制,实现集装箱和宿主机的资源共享。
总结: Linux容器是一种轻量级的虚拟化方法。
Linux容器提供了一种支持在单个可控主机节点上同时运行多个彼此隔离的服务器容器的机制。 Linux容器就像chroot,提供有自己进程和网络空间的虚拟环境,但与虚拟机不同。 因为lxc是操作系统级别的资源虚拟化。
2、LXC和docker的关系是什么?
docker不是LXC的替代品。 docker的基础是用LXC实现的。 LXC将linux进程做成沙箱,允许进程之间的隔离,并控制每个进程的资源分配。
基于LXC,docker提供了一系列更强大的功能。
3、什么是docker
docker是一个开源APP容器引擎,基于go语言开发,符合apache2.0协议的开源。
使用docker,开发者可以通过将APP和依赖包打包到轻量级、可移植的容器中,然后发布到普通的linux服务器上来实现虚拟化。
集装箱完全使用沙箱的结构,相互没有接口(iphone级的app ),集装箱的开销极低。
4、docker官方文档
https://docs.docker.com/
5、为什么docker越来越受欢迎
官方语言:
容器化越来越受欢迎。 因为容器是这样的。
灵活性:即使是最复杂的APP应用也可以实现容器化。重量轻:集装箱利用主机内核共享。
兼容性:可以实时部署更新和升级。
便携式:可以在本地构建,部署到云中,并在任何地方运行。
可扩展:可以添加和自动分发集装箱的副本。
可堆叠:允许垂直和立即堆叠服务。
镜像和容器(containers )。
通过镜像启动容器。 镜像是一个可执行包,运行APP应用程序所需的所有内容都包括代码、运行时间、库、环境变量和配置文件。
容器是镜像的运行实例,运行时具有镜像状态和用户进程,可以使用docker ps查看
集装箱和虚拟机
容器在linux上本机运行,并与其他容器共享主机内核。 容器运行独立的进程,不占用其他可执行文件的内存,非常轻量
虚拟机运行的是完成的操作系统,比通过虚拟机管理程序虚拟访问主机资源需要更多的资源
水印,大小_ 16,文本_ QDU XQ1RP5 y2 a5 a6i,颜色_ FFFFF,t_100,g_se,x_10,y_10,阴影_ 90,
六、docker版本
dockercommunityedition(ce )社区版
企业版(ee )商业版
7、docker和openstack的几个比较
水印,大小_ 16,文本_ QDU XQ1RP5 y2 a5 a6i,颜色_ FFFFF,t_100,g_se,x_10,y_10,阴影_ 90,
8、集装箱在内核内支持两种关键技术
docker的本质是瘦主机的过程,docker用namespace实现资源隔离,用cgroup实现资源限制,用copy-on-write实现高效的文件操作。 (向虚拟机等磁盘分配500g并不实际消耗500g物理磁盘) ) )。
1 ) namespaces名称空间
水印,大小_ 16,文本_ QDU XQ1RP5 y2 a5 a6i,颜色_ FFFFF,t_100,g_se,x_10,y_10,阴影_ 90,2 )控制组控制组
cgroup的特征如下。
cgroup的api是一种模拟文件系统的实现方式,用户的程序可以通过文件系统将cgroup的组件管理cgroup的组件管理操作单位细分为线程级别,并且用户可以将cgroup 资源负荷分配和重用的所有资源管理功能都可以通过子系统的方式实现,接口统一子任务的创建最初与其父任务位于同一个cgroup的控制组
四项功能:
资源限制)可以为任务中使用的资源总数分配限制优先级。 实际上,由分配的cpu时间片的数量和磁盘I/o带宽的大小控制着任务的执行优先级。 可以统计cpu时间、内存使用量等系统的资源使用量。 cgroup可以对任务执行挂起、恢复等操作
9、理解docker的三个重要概念
1 )图像镜像
docker镜像是只读模板。 例如,镜像可以包含一个完整的centos,其中只安装了apache和其他APP,而镜像可以用于创建docker容器。 docker还提供了一种创建镜像和更新现有镜像的简单机制,用户可以直接使用下周从其他用户创建的镜像
2 )集装箱容器
docker利用容器执行APP。 容器是通过镜像创建的执行实例,可以启动。 启动、停止、删除、各容器相互隔离,保证安全的平台。 好了,容器被视为包含root用户权限、镜像区域、用户区域、网络区域等的简易版linux环境和要重新运行的APP
3 )恢复存储仓库
仓库是集中存储镜像文件的沧桑,registry是仓库的主从服务器,实际上在参考注册服务器中存储着多个仓库,每个仓库包含多个镜像,每个镜像有不同的标签(tag )
仓库分为两种,公共参考和私人仓库。 最大的公开仓库是docker Hub,用户下周为国内的docker pool保管着数量庞大的镜像。 这里仓库的概念与Git相似,registry可以理解为github这样的托管服务
十、docker的主要用途
公式为Bulid、ship、run any app/any where,可以编译、加载、执行、在任意app/任意位置执行生命周期管理可以实现APP封装、部署和操作,只要在glibc环境中就可以实现
在运维生成环境中,docker化
租赁服务不需要担心服务器的运行环境。 所有服务器都自动分配docker,自动部署,自动安装,自动运行
不需要担心其他服务引擎的磁盘问题、cpu问题和系统问题
资源利用更好
可以自动迁移、创建镜像,也可以使用自定义镜像顺利迁移
管理变得更方便了
文/上海蓝盟 IT外包专家