这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题
于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。
微信小程序搜索:Python面试宝典
或可关注原创个人博客:https://lienze.tech
也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习
docker-介绍只不过由于docker帮助我们包装了这个进程,给这个进程加以一个可运行的微linux环境而已
让我们感觉看起来"像"虚拟机而已。所以也就不奇怪,为什么容器的启动是秒级的,启动一个虚拟机是分钟级别的
docker简介Docker(码头工人)是一个开源项目,诞生于 2013 年初
最初是 dotCloud 公司(后由于 Docker 开源后大受欢迎就将公司改名为 Docker Inc ,总部位于美国加州的旧金山)内部的一个开源的 PAAS 服务 (Platform as a ServiceService )的业余项目
它基于 Google 公司推出的 Go 语言实现
项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护
Docker 是基于 linux 内核实现,Docker 最早采用 LXC 技术 ,LXC 是 Linux 原生支持的容器技术,可以提供轻量级的虚拟化
可以说 docker 就是基于 LXC 发展起来 的,提供 LXC 的高级封装,标准的配置方法
在LXC的基础之上,docker提供了一系列更强大的功能
而虚拟化技术 KVM(KernelKernel-based Virtual Machine Machine) 基于模块实现, 后来Docker 改为自己研发并开源的 runc 技术运行容器,彻底抛弃了LXC
docker优点LXC为Linux Container的简写
可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。
容器有效地将由单个 *** 作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求
Linux Container提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制。
Linux Container有点像chroot,提供了一个拥有自己进程和网络空间的虚拟环境,但又有别于虚拟机,因为lxc是一种 *** 作系统层次上的资源的虚拟化
Docker相比虚拟机的交付速度更快,资源消耗更低
Docker采用客户端/服务端架构、使用远程API来管理和创建容器、可以轻松的创建一个轻量级的、可移植的、自给自足的容器
docker 的三大理念是build(构建)、ship(运输)、run(运行)
Docker遵从apache 2.0协议,并通过(namespace及cgroup等)来提供容器的资源隔离与安全保障等
所以Docke容器在运行时不需要类似虚拟机(空运行的虚拟机占用物理机6-8%性能)的额外资源开销,因此可以大幅提高资源利用率
总而言之Docker是一种用了新颖方式实现的轻量级虚拟机.类似于VM但是在原理和应用上和VM的差别还是很大的,并且docker的专业叫法是应用容器(Application Container)
docker组成- Docker 主机(Host):一个物理机或虚拟机,用于运行Docker服务进程和容器,也称为宿主机,node节点
- Docker 服务端(Server):Docker守护进程,运行docker容器
- Docker 客户端(Client):客户端使用docker命令或其他工具调用docker API
- Docker 仓库(Registry): 保存镜像的仓库
- Docker 镜像(Images):镜像可以理解为创建实例使用的模板,也就是 *** 作系统
- Docker 容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务,也可以理解为是一个运行的虚拟机
-
docker的优势
- 资源利用率更高:一台物理机可以运行数百个容器,但是一般只能运行数十个虚拟机
- 开销更小:不需要启动单独的虚拟机OS内核占用硬件资源
- 启动速度更快:可以在数秒内完成启动
- 集成性更好:和CI/CD(持续集成/持续部署)相关技术结合性更好,实现自动化管理
-
虚拟机的优势
- 更好的实现服务运行环境隔离
- 每个虚拟机都有独立的内核
- 网络管理更加丰富高级
- 可以在32bit的 Linux/Windows/unix环境下使用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)