希尼亚偌IT小贴士,来喽!
1、了解docker的前生LXC
Lxc 是 linux 容器的缩写可以提供轻量级虚拟化来分离进程和资源。此外,不需要提供指令解释机制或者整体虚拟化的复杂性。分析楚格设计内被测物体的外表面积。容器可以有效地将操作系统管理的资源划分为独立的组,并在这些独立的组之间平衡竞争的资源使用需求。
与传统的虚拟化技术相比,好处包括:
1)使用与汇主机相同的核心,性能损失小;
2)不需要命令级的模拟
3)不需要即时(Just-in-time )编译
4)容器可以在CPU核心的本地执行指令,不需要特别的解释机制;
5)避免准虚拟化和系统调用更换中的复杂性;
6)轻量级隔离在隔离的同时提供共享机制,实现集装箱和宿主机的资源共享。
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越来越受欢迎
灵活性:即使是最复杂的APP应用也可以实现容器化。重量轻:集装箱利用主机内核共享。
兼容性:可以实时部署更新和升级。
便携式:可以在本地构建,部署到云中,并在任何地方运行。
可扩展:可以添加和自动分发集装箱的副本。
可堆叠:允许垂直和立即堆叠服务。
容器在linux上本机运行,并与其他容器共享主机内核。 容器运行独立的进程,不占用其他可执行文件的内存,非常轻量
5、理解docker的三个重要概念
1)图像镜像
docker镜像是只读模板。 例如,镜像可以包含一个完整的centos,其中只安装了apache和其他APP,而镜像可以用于创建docker容器。 docker还提供了一种创建镜像和更新现有镜像的简单机制,用户可以直接使用下周从其他用户创建的镜像
2)集装箱容器
docker利用容器执行APP。 容器是通过镜像创建的执行实例,可以启动。 启动、停止、删除、各容器相互隔离,保证安全的平台。 好了,容器被视为包含root用户权限、镜像区域、用户区域、网络区域等的简易版linux环境和要重新运行的APP
3)恢复存储仓库
仓库是集中存储镜像文件的沧桑,registry是仓库的主从服务器,实际上在参考注册服务器中存储着多个仓库,每个仓库包含多个镜像,每个镜像有不同的标签(tag )
仓库分为两种,公共参考和私人仓库。 最大的公开仓库是docker Hub,用户下周为国内的docker pool保管着数量庞大的镜像。 这里仓库的概念与Git相似,registry可以理解为github这样的托管服务,管理变得更方便了
以上来自希尼亚偌上海一站式IT外包专家