[Day13] Containers

我们都知道,Compute Engine 属於 IaaS , 而 App Engine 等服务属於 PaaS,在 PaaS 底下,使用者大多不需要处理系统底层的问题。

但有些时候,我们会希望可以同时拥有 IaaS 与 PaaS 的优点,可以设定部分底层的资源,又希望可以透过云端平台帮我们自动化的管理,这个时候,就可以使用 Kubernetes (K8S) 的服务,关於 K8S 相关的内容预计将於明天介绍,今天会介绍 K8S 底层的东东: Container。

虚拟化容器与 VM (虚拟机) 非常类似,但是原理上有所差异。通常, VM 会模拟整个电脑硬体、CPU,包含指令集等所有的内容,因此 VM 最被大家诟病的问题就是,需要浪费非常多的系统资源。在 CPU 层面,需要模拟整个电脑硬体,而在储存层面,也需要安装整套的作业系统。

容器的虚拟化则是将作业系统层进行虚拟化,与当前在运行的作业系统共用资源,省去了虚拟化硬体的部分,可以达到非常的轻量化。我们可以将自己的服务打包在容器中,未来在搬移时,仅需要将容器移植到其他台电脑,即可快速的部属各种不同的服务。

Docker

虽然说,Container 的技术不仅只於 Docker,但目前来说,Docker 算是最知名,最通用的一款 Container 技术。

以 Docker 为例,如果我们需要建立一个 Docker 的容器,需要一个 Dockerfile ,定义我们容器中各种参数,例如需要继承哪一套的 image,并且需要在自己的容器中执行哪些的参数;挂载的档案;网路连线等。

每一个容器中,可以安装多个程序,例如 Apache 、 MySQL 、 Python 等,不过根据 Docker 官方的建议,最好每一个容器仅安装一套的服务,可以称为 (Micorservices) 微服务。

我们可以在地端,自己的电脑中建立好一套完整的服务,并将 Docker 的各种服务部属到 Compute Engine 的 Instances 上。

当我们有了一系列的 Docker Container,接下来需要面临的挑战就是,容器的管理了,那麽,关於容器的管理,我们明天再继续介绍!


<<:  [Day13] THM Res

>>:  ICS/SCADA工业控制系统

【Day09】数据输入元件 - Upload

元件介绍 Upload 是一个上传元件。帮助我们能够发布文字、图片、影片、档案到後端服务器上。 参考...

Day06 - 【入门篇】Keycloak的替代品

本系列文之後也会置於个人网站 接者,来分享一下在寻找过程中看到的其他可以取代Keycloak全部或...

Day 24 -资料库应用小程序 资料库设计(实体关联模型(E-R model)分析)

实体关系模型 ( Entity - Relationship Model, E-R Model )是...

iOS工程师面试深入浅出(OC)- @property 使用方法?Copy 什麽时候用?

iOS工程师面试深入浅出(OC)- @property 使用方法?Copy 什麽时候用? 如果本来是...

Day26 Flutter 的状态管理 Provider (五) Firebase Login

main,dart: import 'package:firebase_core/firebase_...