如下:
1 | package main |
如下:
1 | package main |
[TOC]
容器技术的革命性类似于集装箱
的革命性。
容器技术可以使应用以自包含
的方式定义,从而更敏捷、可拓展、可复制。
云原生是一条最佳路径(最佳实践)。这条路径能:
最大化地利用云的能力,发挥最大价值。
容器技术就是云原生技术的核心底盘。
目前实现:容器镜像
解释:我们的跑应用的基础设施应该是==不可变==的,是自包含、自描述且可以随时迁移的。
传统应用的基础设施:
可变,如SSH连接到服务器,手动升级或降级软件包,逐个服务器调整配置文件,新代码直接部署到现有服务器上
对云友好的应用基础设施:
不可变,如部署完成之后基础设施不会被修改。如需更新,则更改公共镜像构建新服务以替换旧服务。验证后,新服务投入使用,旧服务退役。
目前实现:容器设计模式(Google提出)
容器与普通的操作系统进程,有什么区别呢?
由于进程是共享同一份文件系统,导致权限较高的进程会影响到权限较低的进程的文件操作,形成相互干扰;
由于进程和进程间的依赖可能存在冲突,会给运维带来压力;
由于进程间使用同样的宿主机的资源,存在资源抢占,权限低的进程可能会因为抢占不到资源而无法提供服务。
容器,是一个视图隔离、资源可限制、独立文件系统的进程集合。
运行容器所需要的所有文件的集合,就是容器镜像
Dockerfile - 描述镜像构建步骤
构建步骤所产生出文件系统的变化 - changeset