容器的优势在于可以实现更快的云部署和更高的资源利用率。 但就安全性而言,就很难说了。
今天我就给大家解释一下,什么是Docker容器? Docker 容器和虚拟机有什么区别?
而且,粉丝福利也将如期在九月份到来。 这次给大家带来整个华为福利专场,满满都是好东西。 记得抽奖哦。
九月网络工程师俱乐部
粉丝福利
9月抽奖名单
最新款华为无线耳机(¥500+)1套
华为手环 8 (¥300+) 1 份
华为无线键鼠套装(¥200+)1套
华为移动电源(¥150+)1份
网工专属限量版鼠标垫(¥150+)3张
千元奖品,扫码参与领取。
如何参与活动
关注此公众号“网络工程师俱乐部”,在对话框中回复关键词“福利”,即可免费参与本月抽奖。
01
为什么需要 Docker 容器?
01 现在我们要先回到虚拟机
虚拟机又称Virtual Machines的发展,降低了企业对硬件资源的依赖。
它将一个物理设备虚拟成多个逻辑设备。 每个逻辑设备可以运行不同的操作系统,应用程序可以在独立的空间运行,互不影响,从而显着提高设备的工作效率。
然而,传统虚拟机需要安装操作系统来执行应用程序,这会消耗过多的系统资源。
大多数情况下,用户只需要运行简单的应用程序,使用VM技术既麻烦又浪费资源。
如果应用服务程序需要迁移,就需要迁移整个虚拟机,因此企业迫切需要轻量级虚拟化技术。
02灵活迁移部署不太香
容器是一种轻量级虚拟化技术什么软件可以快速有粉丝,其目的与虚拟机相同,都是创建一个“隔离的环境”。
但与使用操作系统级资源隔离的虚拟机不同,容器使用进程级系统隔离。
Docker作为创建容器的主流工具,为何发展如此迅速?
关键是它允许开发者将企业需要的各种应用程序和应用程序依赖文件封装在Docker镜像文件中。
然后在任意物理设备(Linux设备或者Window设备等)上安装运行即可实现虚拟化;
应用与底层设备完全分离,可以在物理机之间灵活迁移部署,将运维工程师从繁琐的环境部署中解放出来,大大提高工作效率,降低部署过程中的潜在风险。
03Docker容器三大特点
轻的:
一台主机上运行的多个Docker容器可以共享主机操作系统内核; 启动速度快,只需要少量的计算和内存资源。
标准开放:
Docker 容器基于开放标准,可以在所有主要 Linux 版本、Microsoft Windows 以及包括虚拟机、裸机服务器和云在内的任何基础设施上运行。
安全可靠:
Docker给予应用程序的隔离不仅限于彼此隔离,还包括独立于底层基础设施。
Docker默认提供了最强的隔离,因此如果出现应用程序问题,也只是单个容器的问题,不会影响整个主机。
今日文章阅读福利:《Docker常用命令合集(实用)》
你用过Docker吗? 我为大家整理了一份常用命令列表,希望大家能够使用。 添加微信并备注“Docker”即可免费领取此资源。
前20名粉丝将获得免费资源
02
Docker 容器 VS 虚拟机
Docker容器和传统VM技术在技术实现上有所不同。
01VM和Docker容器的逻辑组成
虚拟机:
使用Hypervisor为虚拟机提供运行平台,管理每个虚拟机中操作系统的运行。
每个虚拟机必须有自己的操作系统、应用程序和必要的依赖文件。
Docker 容器:
使用Docker引擎进行调度和隔离,提高资源利用率,并允许在相同的硬件能力下运行更多的容器实例; 每个容器都有自己独立的用户空间。
02Docker容器的优点
与VM相比,Docker容器作为一种轻量级的虚拟化方法,在应用中具有以下显着优势:
下图可以直观地了解Docker容器与传统VM方式的区别:
03
Docker 容器如何工作?
01Docker的三大组件
镜子:
Docker镜像是一种特殊的文件系统。 除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含一些为运行时准备的配置参数。
镜像不包含任何动态数据,构建后其内容不会改变。
镜像可以用来创建Docker容器,用户可以使用设备上已有的镜像来安装多个相同的Docker容器。
容器:
由镜像创建的正在运行的实例。 Docker 使用容器来运行应用程序。
每个容器都是一个隔离且安全的平台。
我们可以将容器视为一个轻量级的Linux操作环境。
镜像仓库:
存储图像文件的集中位置。
用户创建镜像后,可以将其上传到公共或私有仓库。 当他需要在另一台主机上使用镜像时,只需要从仓库下载即可。
02Docker容器运行逻辑
如下图所示,Docker采用客户端/服务器(C/S)架构模式。
Docker守护进程作为服务器接收Docker客户端的请求,负责创建、运行和分发Docker容器。
Docker守护进程一般运行在Docker主机的后台,用户使用Docker客户端直接与Docker守护进程交互。
Docker运行过程
接下来我们来谈谈Docker的客户端、主机和守护进程。 (看上图)
1.Docker客户端:
用于与 Docker Daemon 建立通信的客户端。
Docker客户端只需要向Docker服务器或守护进程发出请求(Docker build、Docker pull、Docker start等指令),服务器或守护进程就会完成所有工作并返回结果。
如橙色流程所示什么软件可以快速有粉丝,执行Docker build命令会根据Docker文件构建镜像并存储在本地Docker主机上。
如蓝色流程所示,执行Docker pull命令会将镜像从云镜像仓库拉取到本地Docker主机或者将本地镜像推送到远程镜像仓库。
如黑色流程所示,执行Docker启动命令会将镜像安装到容器中并启动容器。
2.Docker主机:
用于执行 Docker 守护进程和容器的物理或虚拟机。
3.Docker守护进程:
接收并处理 Docker 客户端发送的请求,监控 Docker API 请求并管理 Docker 对象,例如镜像、容器、网络和数据卷。
EC-IoT解决方案基于“边缘智能+云管理”平台。 物联网网关开放边缘计算能力,快速适应不同行业的边缘智能数据处理需求。
实现关键业务本地毫秒级实时响应,完成数据本地聚合和优化,并主动将高价值数据回传云端。
边缘计算网关基于“硬件平台、业务APP”的设计理念。 终端功能由APP软件定义。 用户基于基础服务接口开发定制APP,在边缘计算网关上实现灵活部署,快速适应复杂的业务需求。 改变物联网场景。
边缘计算网关支持Docker容器的部署。 用户可以在部署的容器上安装自己的业务APP。 同时,网关设备提供各种eSDK接口,供容器和APP调用其资源。
EC-物联网解决方案
网关开放性
04
集装箱的分类
主流的容器技术架构有两种:
01一个是Linux Container,即LXC
LXC起源于Linux内核中Cgroup和命名空间的开发,以支持轻量级虚拟化操作系统环境。 它是一个操作系统级的轻量级Linux容器。
提供轻量级虚拟化隔离流程和资源:
它将应用软件系统封装到一个软件容器中,其中包含应用软件本身的代码和所需的操作系统核心库。
它通过统一的命名空间和通用的API(应用程序编程接口)来分配不同软件容器的硬件资源。
为应用程序创建独立的沙箱运行环境,让Linux用户可以轻松创建和管理系统或应用程序容器。
02一是Docker公司发布的Docker
Docker是在LXC的基础上进一步封装的容器技术架构。 相当于应用级容器,也称为APP容器。
也就是说,每个Docker容器都是一个独立的APP。 Docker将APP打包成镜像。 当您需要在其他地方使用此APP时,可以直接获取此镜像,方便部署和安装。
如上图所示,Docker和LXC通过Linux内核的命名空间和Cgroup机制来实现容器。
发表评论