随着容器云和Docker技术的发展,容器基础镜像OS和运行容器的hostOS的选择成为了一个难题。许多Linux发行商和云运营商也发布了特殊的容器发行版。与传统的分布式操作系统相比,这些Linux可能更加安全和简洁。业界有几种流行的发行版。希望能帮助大家选择最适合自己的发行版。概述容器专用操作系统是指专门为运行容器而设计的Linux发行版。与常规发行版相比,这些发行版可以提供一些额外的优势:简洁:特定于容器的操作系统应该很小,只安装必要的组件。尽量减少包含的工具和应用程序的数量。原子更新。默认情况下可以搭建大规模集群,自动运行Dockerdaemon。根文件系统是只读的。原子更新可以回滚(双分区更新方案)。增强的稳定性和安全性。基于这些特点,我们来比较一下常见的容器Linux发行版:CoreOS、UbuntuSnappy、Atomic、RancherOS和Photon。这些发行版默认都是云原生的,提供了一个多发行包,可以方便的用于云实例的早期初始化。CoreOSCoreOS是一个基于Linux内核的云原生发行版,专注于安全性、可靠性、集群化、自动化和易于部署。CoreOS作为一个容器操作系统,提供了运行现代基础设施堆栈所需的功能,包括容器运行所需的基础功能环境,以及一系列用于服务发现和共享配置的内置工具。CoreOS的策略和架构允许用户以高弹性运行大规模服务。CoreOS附带两个可以在每个节点上自动配置的容器运行时(例如Docker和Rocket)。另外,CoreOS还提供自动更新,默认可以获取所有更新。CoreOS使用自己的内置点火作为启动点。Ignition是一种在首次启动时运行的配置工具,允许用户以不可变的方式配置节点。在CoreOS上运行应用程序的首选方式是在容器中运行它们。etcd也是CoreOS的强项之一。etcd是一个分布式键值缓存服务器,被Kubernetes、CloudFoundry等许多项目使用。您可以使用etcd进行简单的服务发现等。大型云提供商基本上都提供对CoreOS的支持。CoreOS于2018年被红帽收购,FedoraCoreOS的升级版是目前红帽云战略中最重要的产品和服务。FlatcarLinux是CoreOSContainerLinux的友好开源分支。FlatcarLinux是ContainerLinux的直接替代品。Flatcar背后的主要思想是以社区驱动的方式支持ContainerLinux。UbuntuCoreUbuntuCore是Ubuntu的微交易版本,适用于物联网设备和大型容器部署。它运行一种称为snaps的新型超安全、可远程升级的Linux应用程序软件包,受到包括芯片组供应商、设备制造商和系统集成商在内的领先物联网参与者的支持和信任。UbuntuCore内置Canonical的AppArmor内核安全系统,以提供用户友好的安全性。UbuntuCore使应用程序彼此完全隔离以确保安全。UbuntuCore可以通过所谓的snap(如Docker)轻松扩展,将snap添加到UbuntuCore后,就可以在上面运行应用程序。UbuntuCore中的所有操作系统和应用程序文件都保存在单独的只读镜像中。这使得在UbuntuCore上的更新变得简单且可预测。通过增量管理,UbuntuCore最小化了下载大小。UbuntuCore还为系统和应用程序更新提供回滚。默认情况下,UbuntuCore没有内置Docker运行时,但用户可以轻松安装Docker作为运行Docker容器的快捷方式。安装非常简单:sudosnappyinstalldocker第一次尝试UbuntuCore时,您需要一个Ubuntu帐户来初始配置ssh密钥。RancherOSRancherOS项目的目的是构建一个极简主义的Linux发行版,允许Docker直接在Linux内核之上运行,并将所有用户空间Linux服务作为Docker容器分发。这样,就不需要为RancherOS本身使用单独的包分发机制。简而言之,RancherOS是由Container组成的OS,运行着PID为1的Dockerdaemon,而Dockerdaemon是内核启动的第一个进程。RancherOS中运行着2个Docker守护进程,一个用于系统(SystemDocker),一个用于用户(UserDocker)。系统Docker负责启动所有系统服务,例如udev、DHCP和控制台。因此RancherOS使用Docker作为初始化系统,将所有系统服务作为Docker容器进行管理。RancherOS附带两个Docker守护进程的原因之一是,当用户不小心从用户Docker中停止/删除所有容器时,系统仍然可以正常工作。当在Docker容器中运行所有内容时,最新的Docker版本始终可以通过RancherOS获得。RancherOS可以通过运行额外的系统容器轻松扩展,例如,您可以运行自己的控制台容器来访问您喜欢的控制台。由于该系统非常精简,因此安全漏洞更少,需要的补丁也更少,而且稳定性更高。由于所有系统服务都作为Docker容器交付,因此不需要任何包管理工具,例如apt-get或yum。由于内核和initrd不是Docker容器,RancherOS也使用Docker打包和分发来传递内核和initrd更新。RancherOS也可以被视为嵌入式系统和物联网设备的解决方案。VMwarePhotonPhoton是最小的Linux容器主机的技术预览版。Photon被设计为体积小,以实现在VMware平台上的快速启动。Photon专为在虚拟化环境中运行的容器化应用程序的协作而设计。VMware迅速为容器化应用程序创建了一个新的操作系统。VMwarePhoton是为vSphere优化的最小的Linux容器主机。Photon支持所有基于VmwareWarden的常见容器,如Docker、rocket和PivotalGarden容器规范。此外,Photon具有主动的生命周期管理功能,包括与yum兼容的包管理器。使用Photon的主要好处是VMware的Lightwave。Lightwave为身份验证和授权提供集中的身份管理。它支持许多开放标准,例如LDAP、Kerberos、SAML和OAuth2.0。Lightwave引入了一个新的容器安全层,支持集中式身份和访问管理。结论如何选择合适的基础发行版取决于工作负载和环境。在服务器/云/数据中心领域,不断有新技术被推出和尝试。运行Docker基础设施有很多不错的选择。.
