关于云托管:微信云托管趣味讲解Docker镜像容器的那些事

53次阅读

共计 3093 个字符,预计需要花费 8 分钟才能阅读完成。

微信云托管 上线后,有很多同学尽管体现出了极大的好奇心,但碍于对 Docker、镜像和容器等概念的不理解望而生畏。

本文就从简略趣味的角度,率领大家疾速了解入门微信云托管必备知识点,再把云托管到底能帮业务做什么事、有什么用安顿一下!

什么是 Docker?

无论你是没印象,还是仅仅听过没用过,都须要来补补课啦!这是一个根底点,要考的。

Docker 是用 GO 语言开发的利用容器引擎,基于容器化、沙箱机制的利用部署技术,说白了,Docker 是一个弱小的工具

既然是个工具,肯定是听令行事,指令是咱们能操作它正确工作的根底,能够通过 3 种形式来实现:

  1. Docker 命令
  2. Dockerfile 脚本(微信云托管举荐)
  3. shell 脚本

那么,Docker 具体能做什么事?

首先,它会将你的我的项目和 根底镜像 依照指令打成一个我的项目镜像,紧接着,在微信云托管 / 服务器中创立一个容器,让镜像转到容器内运行,从而实现我的项目的部署。也就是:

指令 -> 镜像

(我的项目 + 根底镜像) + Docker = 我的项目镜像

微信云托管 / 服务器 -> 容器

我的项目镜像 + 容器 = 我的项目部署

正确应用 Docker,现实的成果是:开发者只须要提供我的项目的代码,通过 Docker 就能够为你的我的项目搭建配置好运行环境所须要的所有货色。总之,如果能熟练掌握 Docker 工具,就可能把镜像和容器玩的十分溜。

下面引出来两个概念,第一个是镜像,第二个是容器,咱们将在下文缓缓开展。

什么是镜像?

这是一个自计算机诞生就始终随同的概念,例如 Windows 零碎的 ISO 装机盘,其实就是镜像的一种状态,镜像是固化的、未运行的,但又始终保持运行逻辑的一堆存储。

当镜像进入到运行环境中,比方操作系统 ISO 装进一台笔记本,就具备运行的实例了,笔记本的计算性能越强,施展的作用也越大。

前文讲到,Docker 依据指令生成镜像,而后再依据镜像生成运行的容器实例。

Docker 是结构镜像的一把好手,而且十分懂得众人拾柴火焰高的原理:Docker 在构建镜像时,能够依赖一个父镜像作为底层镜像一起打包,从而构建成一个全新的镜像。而这个被用作依赖的父镜像,就是 根底镜像

因而,在配置我的项目 Dockerfile 创立镜像脚本之前,须要先确立一个根底镜像。

比方,上图中引入了 Node 的根底镜像,这个镜像领有咱们运行 Node.js 程序所需的资源。

根底镜像存在的中央被称为仓库,相似于咱们代码托管的仓库或者 npm 仓库。

仓库里有各种运行环境零碎和框架语言的镜像,满足各种我的项目的运行条件,例如你要运行 Python 我的项目,就须要在仓库中引入 Python 无关的镜像。当然你也能够制作本人的镜像只用于本人应用,Docker 作为工具同样能够轻松做到。

什么是容器?

还是从 Docker 讲起:Docker 依据镜像生成运行的容器实例后,容器就变成了一个可运行的实体,可能通过一系列的伎俩感知它的存在和生命力。

而从镜像到容器的过程,相似于 class 类 new 了一个对象,Windows 等操作系统被装置到一台电脑上。

想必很多开发者都有保护服务器的教训:给一个曾经调试好软件和网络的服务器零碎打一个镜像,存个盘,随后在其余服务器上间接装置和加载存盘,就能够无需再走一遍“开局打怪”的老路了。

Docker 镜像和在服务器中自行打的镜像相似,不同的点在于自行打的镜像是运行在服务器中,或者分拆的小虚拟机中;而 Docker 的镜像须要运行在一个“沙盒”环境中,这个“沙盒”环境所依赖的就是容器化技术。

总结一下,容器就是一个镜像运行在一个特制的环境中而对外的整体

再深度解释一波,容器是由 3 个技术,构建进去的过程的隔离环境:

  • Linux Namespace 和 Linux Cgroups,容器化技术的外围,提供了运行时的隔离和资源的授予。
  • rootfs,也就是镜像,提供了容器的运行内容。

容器和服务器有什么区别?

在互联网飞速发展的过程中,服务器在状态上的倒退从未进行过,咱们来通过一个「全家住房需要」的例子,活泼解说一下服务器状态乃至云计算的发展史:

  1. 自有物理建设(自有服务器实体): 一开始大家都是本人搞几台服务器本人保护,通常一停电就全完的那种。

举例:你本人盖了一个别墅,兼顾物业管理

  1. 物理托管(托管服务器实体): 去颐养和巡检这实体的货色,老本很高,所以就有了服务商来帮忙托管,找个优质的中央。

举例:你本人盖了一个别墅,雇人来负责物业管理

  1. IaaS 基础设施即服务: 有需要就会有租赁,买不起服务器的话,能够向服务商购买服务器资源,云计算初具成型。

举例:没钱本人盖别墅,有钱买一层小高楼,本人装修

  1. PaaS 平台即服务: 我服务器都不想管了,还要本人解决服务器操作系统和软件,间接给我一个能够运行我的项目的资源就行了。

举例:买一层小高楼或者一间房,精装修拎包入住

  1. FaaS 性能即服务: 一个外围性能不想做,引入他人提供的服务,而后本人写点货色把这个给做了。

举例:家里有人比拟挑,要个风水好的,先安顿住酒店

  1. SaaS 软件即服务: 我代码都不想写了,引入一个软件就把这个事给办了,你就说能不能吧?

举例:全家间接住酒店

直到现在,如何提供更受欢迎的资源仍然是云厂商始终在摸索的议题。以上几种状态始终没有隐没,每一种都有本人情有独钟的用户,用户关怀的诉求点不同,决定了用户在那个状态层面。

容器化技术,以及 Docker 的呈现,其实都是在改善 IaaS 中的服务器保护解决所带来的弊病,比方运行环境不统一、网络配置繁琐,尽管有针对的运维工具能够减小这类压力,但多多少少要付出一些老本。

容器技术,实质上就是在服务器零碎上铺设一个平台,间接管制和治理底层计算和存储资源,下层隔离出运行环境供开发者的我的项目镜像运行。

好比一个公司买下了一个大的厂房后,分隔出很多小的房间,给每个房间接入水电,而后对立一些规范,再租赁进来。

所以,在开发者的角度,如果无需关怀服务器的运行,那么只须要关注两件事:

  1. 我的项目镜像的打包;
  2. 定义如何治理分隔容器和解决资源。

云托管和容器服务有什么区别和分割?

容器编排技术和工具的呈现,间接将服务器变成了可操作的模块,开发者只须要操作控制面板就能够指挥服务器进行容器化的步骤了,真正做到了对立治理。

因为有对立的容器化,所以也不必放心服务器运行环境差别和网络配置等问题。相当于给你一个遥控装置,能够用来创立出很多容器,而后依照理论应用资源付费。

但并不是所有开发者都对容器编排、配置等熟能生巧,好比开车学驾照,失误压线导致考试未通过的事时有发生。

那么,如果不会开车,但我想要坐车出去玩,怎么办?

“代驾”应运而生。

类比到技术层面,微信云托管不仅提供租车服务(容器服务),还提供“代驾”服务:开发者只须要简略的配置,提出目标和诉求,微信云托管就会主动创立并维持你的容器实例打算,同时还装备很多行业先进的技术体系,保障你能应用到的是最新、最支流的计划和技术。论断就是:

容器服务 + 罕用数据库 + 主动扩缩容 + 运维从属服务(监控、日志、告警) + 云生态 + 微信生态 + X(更多能力开发中)= 微信云托管 https://cloud.weixin.qq.com/

微信云托管优惠反对

7 折优惠

针对微信云托管全用户,直至 2021 年 12 月 31 日,按量付费模式下享 7 折优惠。

万元企业激励打算

微信云托管推出 企业激励打算 ,万元补贴、专家级迁徙服务、腾讯云官网流量曝光等,助力企业更低成本享受云原生带来的极致体验。

长按辨认二维码报名

高价资源包(行将上线)

针对集体开发者和企业新用户,微信云托管将推出不同梯度的资源包,进一步升高产品费用。

对于微信云托管,应用过程中若有问题或倡议,欢送来到微信凋谢社区 微信云托管 专区一起交换探讨。

正文完
 0