docker拾遗-之再入坑

最近重新学习docker,好久不用,什么都是忘得差不多了,每天地铁看看视频,记记笔记,重新学习docker。

docker简介

什么是容器?

  • 一种虚拟化的方案
  • 操作系统级别的虚拟化
  • 只能运行在相同或相似内核的操作系统
  • 依赖于linux内核特性:Namespace和Cgroups(Control Group)

linux容器 VS 虚拟机

使用的容量更小

什么是docker?

  • 将应用程序自动部署到容器
  • GO语言开源引擎
  • 2013 dotCloud
  • 基于Apache 2.0开源授权协议发行

docker的目标

  1. 提供简单轻量的建模方式
  2. 职责的逻辑分离
  3. 快速高效的开发生命周期
  4. 鼓励使用面向服务的架构

docker的使用场景

  1. 使用docker容器开发测试,部署服务
  2. 创建隔离的运行环境
  3. 搭建测试环境
  4. 构建多用户的平台即服务(PaaS)基础设施
  5. 提供软件即服务(SaaS)应用程序
  6. 高性能、超大规模的宿主机部署

Docker容器相关技术

docker依赖的linux内核特性

  • NameSpaces命名空间
  • Control group (Cgroups)控制组

Namespace命名空间

编程语言

​ 封装 -> 代码隔离

操作系统

​ 系统资源的隔离

​ 进程、网络、文件系统...

  • PID (Process ID) 进程隔离
  • NET (Network) 管理网络接口
  • IPC (InterProcess Communication) 管理跨进程通信的访问
  • MNT (Mount) 管理挂载点
  • UTS (Unix TimeSharing System) 隔离内核和版本标识

Control groups 控制组

  • 用来分配资源
  • 来源于google
  • Linux Kernel 2.6.24 @ 2007
  1. 资源限制
  2. 优先级设定
  3. 资源计量
  4. 资源控制

Docker容器的能力

  • 文件系统隔离: 每个容器的都有自己的root文件系统
  • 进程隔离: 每个容器都运行在自己的进程环境中
  • 网络隔离: 容器的虚拟网络接口和IP地址是分开的
  • 资源隔离和分组:使用Cgroups将CPU和内存之类的资源独立分配给每个Docker容器


优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/631920

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。