30个不可不知的容器技术工具和资源

软件容器技术影响着从开发人员、测试人员、运维人员到分析人员的IT团队中的每一个人,它不像虚拟化一样只是系统管理员的工具。容器包的大小和完整性使得团队成员能够在几秒钟内部署完整的环境。

容器是一个很好的工具,同时带来了一系列下游决策,包括使用何种标准、如何存储旧版本和部署镜像、如何在生产中管理这些镜像等等。

但是,该如何正确的组装产品和服务,才能在环境中有效地构建、运行和管理容器?为了回答这个问题,我们调查了各种容器技术产品和服务,以便您可以衡量对比各种容器架构、集群管理和部署、存储、安全、操作系统、部署等方案的优劣。

容器运行

尽管Docker的高人气让其成为了一个事实标准,但市场上的轻量级Linux虚拟化工具众多,Docker也只是众多竞争者中的一个。你有很多选择,包括:

Docker

Docker的同名开源容器化引擎适用于大多数后续产品以及许多开源工具。

Commercially Supported Docker Engine(CSDE)

Docker公司拥有扩展Docker的所有权。CSDE支持在Windows服务器上运行docker实例。

Rkt

rkt的发音为“rocket”,它是由CoreOS开发的。rkt是Docker容器的主要竞争对手。

Solaris Containers

Solaris容器架构比Docker更早出现。想必那些已经在Solaris上标准化的IT企业会继续研究它。

Microsoft容器

作为Linux的竞争对手,Microsoft Containers可以在非常特定的情况下支持Windows容器。

集群管理和部署

创建镜像、将它们从开发传递到测试并回传,都是容易的事情,但要在生产环境中支持它们就不那么简单了。因为那意味着要注册工件,要将它们作为系统部署到生产中,还要管理服务器和服务器集合,包括云中的服务器集合(即“集群”)。集群管理工具管理工作负载,包括将实例从一个虚拟主机转移到另一个基于负载的虚拟主机上。集群管理工具还负责分配资源,如CPU和内存。

Kubernetes

虽然没有集群管理的标准,但Google的开源产品Kubernetes是最受欢迎的。有Amazon的AWS、Google云引擎(GCE)和Microsoft的Azure容器服务的支持,Kubernetes是相对可移植的,这有助于防止供应商锁定,Kubernetes甚至可以在私有云(如OpenStack)上运行。Microsoft、Amazon和Google都提供运行Kubernetes的容器服务,并提供商业支持。

Apache Mesos

一个用于抽象计算资源的工具,Apache Mesos可以在同一个集群中同时运行Docker和rkt镜像。DC/OS是在Mesos上构建的平台,用作数据中心操作系统。

Docker Swarm

Docker是用于集群管理的免费产品,Swarm从命令行运行,并与Docker 1.12及更高版本捆绑在一起。现在它只用于Docker的原生编排。

Docker Data Center

基于Web的dashboard提供对Docker的全部管理,包括控制面板、注册表、监视、日志记录和持续集成,Docker Data Center通过运行Docker Swarm进行集群管理。虽然Docker是免费的,但Data Center是有商业支持的商业产品。当然,Docker Data Center囊括并扩展了公司的免费开源产品:Docker和Swarm。

Rancher

严格上说Rancher不属于单纯的集群部署与管理工具,因为它的本质是一个全栈化的容器管理平台,但是Rancher是全球唯一一家同时支持Kubernetes、Mesos和Swarm的容器管理平台。Rancher可以帮用户自动设置并启动Kubernetes、Mesos或Swarm所建立的集群,并同时提高实施访问控制策略和完整易用的用户管理界面。

储存容器

容器从出现伊始就被设计为可互换的、甚至是可替代的,就像货币一样。这对于Web服务器是非常好的,因为这样就根据需求在集群中添加或删除相同的服务器了。另一方面,存储和数据库需要持久性位置来容纳数据,或者至少需要标准的接口层。如果想要迁移到全容器基础架构的组织就需要存储,以下公司及产品已经满足了这一需求。

ClusterHQ

这些工具有助于将数据库放入容器中。虽然开发ClusterHQ的供应商在去年12月停业,但它在github.com/ClusterHQ留下了大量的免费/开源软件。

BlockBridge

BlockBridge是“弹性存储平台”公司,作为使用Docker的容器提供存储,具有OpenStack选项和软件定义的安全存储。

EMC/lib存储

EMC/lib存储系统提供了一个代码库,使得容器存储得以实现,而且这是免费和开放的。

Docker插件存储

EMC、NetApp和其他公司已经创建了支持存储的插件Docker Inc.,并且可供下载。

容器安全

对不少想进行容器化的公司而言,单点登录、LDAP集成、审计、入侵检测和预防以及漏洞扫描都存在困难。甚至传统的设备和软件也可能难以或不可能在容器集群上配置。幸运的是,有一些厂商正在努力解决这一需求,但这一领域还很新,有两个新公司尚没有可用的产品。

Twistlock

您可以不通过组件(如操作系统、Web服务器或内容管理系统)来构建Docker图像。但问题是,图像上未修补或过时的软件都可能会带来安全风险。Twistlock的漏洞扫描器通过将图像与已知威胁的数据库进行对比来解决这一问题。这是针对不断更新的数据库的自动审核。其它核心功能包括更典型的入侵检测和法规遵从性系统。

Aqua Container Security

像Twistlock一样,Aqua专注于创建、监视容器和在容器中实施策略,以及与CI集成,对每个构建运行安全检查。

StackRox

由Google的前安全主管、美国总统执行办公室网络安全高级总监Sameer Bhalotra联合创立的StackRox,目前正在准备类似的容器安全产品。虽然创业公司仍处于极低调模式,其网站上也没有产品供应,但该公司是一个值得关注的公司。

Aporeto

Aporeto是另一个极低调的创业公司,公司总部位于加利福尼亚州的San Jose,而且Aporeto是Nauge Networks的前CTO。Aporeto表示,公司将提供一个“用于部署和运行现代应用程序的全面的云本地安全解决方案”的微服务和容器。

操作系统

大多数Linux操作系统分发版都是以“方便”为准则,包含体积很大的预安装包,以防用户可能需要它们。相比之下,Docker是为轻量级虚拟化而设计的,以尽可能少的内存、磁盘和CPU运行许多相同的机器。作为回应,不少供应商已经开发了“容器优化型”的Linux构建,尝试在Linux分发版需要的功能与容器需要的极简主义之间达到平衡。以下列出的是市场上最受欢迎的几个:

RancherOS

RancherOS仅包含Linux内核和Docker本身,RancherOS系统镜像只需要22 MB的磁盘空间。RancherOS不再将类似systemd这样的服务管理系统内置在大多数版本的Linux中,而是启动Docker Daemon本身作为init或“bootstrap”系统。

CoreOS Container Linux

设计为与CoreOS Linux工具和系统配合使用,CoreOS Container Linux已预配置为运行Linux容器。它还带有自动更新打开的功能,操作系统无需人工处理就可以自动更新。

Ubuntu Snappy

Canonical是Ubuntu Linux的母公司,又叫Snappy,它能比其他任何Linux分发版多运行七倍多的容器。Snappy性能高,占用空间小,并且能对操作系统和应用程序进行增量(差异)更新,从而保持轻量下载。

Red Hat Atomic Host

这些工具将使您可以在最小版本的Red Hat Enterprise Linux中使用Linux容器。那些运行Red Hat enterprise并有意向使用容器的企业,通常希望其主机运行Red Hat Atomic Host操作系统。

Microsoft Nano Server

Nano Server是一个小型的、远程管理的命令行操作系统,旨在以容器的形式托管和运行,也可能在云中运行。是的,Microsoft具有创造基于Windows Server的容器的能力,Nano是专门为此而构建的。其他可以使用Windows容器的Microsoft操作系统包括Windows Server 2016和Windows Pro 10 Enterprise。

VMware Photon

相较于其它容器操作系统,220MB大小的Photon可谓体积很大了,不过它仍然只是最新版本的Windows的大小的百分之一。这个Linux容器主机旨在与VMware的vSphere虚拟化产品集成。

容器相关大会和技术资源

一旦你真的决定开始使用容器,那么最难的部分一定是实施和支持它们。从行业大会、技术支持论坛到商业支持,这里有你需要的资源。

DockerCon

如果您的公司追求的是全Docker架构,并且使用的是Docker Data Center、Swarm和Docker的商业伙伴的其他产品,那DockerCon是必参加的大会之一。DockerCon涵盖的内容从入门教程,到提示、技巧和尖端想法,一应俱全。

Container Summit

这个大会规模比DockerCon小,但范围更广。在2016年,Containe Summit在美国召开了两个大型会议和12个小型会议。Container Summit是与正在努力实施和管理容器技术的同行交流的好地方。

ContainerCon

这是一个更大的大会,其特别之处在于,参加大会的通常是容器领域的思想领袖,以及各类的供应商。 ContainerCon通常与LinuxCon和CloudOpen同时举办。

CoreOS Fest

CoreOS Fest可以视为CoreOS对DockerCon的回答了。参加CoreOS Fest可以获得和rkt/CoreOs技术栈有关的培训与支持信息。

StackOverflow

最大的程序员在线问答网站,StackOverflow提供了大量有关在容器中部署应用程序的信息。

Docker社区网站

Docker组建的社区网站,提供以Docker为中心的信息和论坛。

CoreOS社区网站

CoreOS的社区网站专注于通过聚会和聊天将人们和专家连接起来。

向着容器化,出发!

容器的概念很简单:它是一个复杂的实现。如果您的技术团队只是严格地将容器用于构建和测试,那您只需要选择正确的操作系统和容器类型即可。然而如果你的构建系统正在为每个构建创建镜像,那么在容器化的路上,你理应走得更远!

扩展过去的构建/测试意味着选择一整套包含操作、部署、监视、支持和安全等在内的技术栈。CoreOS和Docker都提供了各种扩展和支持,使自己的产品生态系统更容易集成。但是如果你喜欢改变自己的环境,那么使用Kubernetes进行集群管理可以防止供应商锁定,并且每个主要的云提供商都支持它。

以上是容器资源的简洁列表,如果你有更好的提示和建议,请不吝赐教噢!一起向着容器化,出发吧!

原文来源:Rancher Labs

时间: 2024-12-04 10:16:31

30个不可不知的容器技术工具和资源的相关文章

细数你不得不知的容器安全工具

网络安全问题的重要性大概毋庸置疑,最近无数关于恶意软件和安全漏洞的消息已充分证明了这一点. 假如你要管理一个Docker环境,并希望帮助自己的公司或用户在下一个大漏洞来临时避免遇到麻烦,那么你就需要了解一些保障Docker应用安全的工具,并真正地去使用它们.本文将介绍可供使用的Docker安全工具(包括了来自Docker原生的安全工具以及第三方安全工具). Docker Benchmark for Security 你首先需要了解的Docker安全工具之一就是Docker Benchmark f

Linux 容器技术史话:从 chroot 到未来

Linux 容器是一个在单一 Linux 主机上提供多个隔离的 Linux 环境的操作系统级虚拟技术.不像虚拟机(VM),容器并不需要运行专用的访客(guest)操作系统.容器们共享宿主机的(host)操作系统内核,并使用访客操作系统的系统库来提供所需的功能.由于不需要专用的操作系统,因此容器要比虚拟器启动快得多. Virtual Machines Vs Containers (图片来自: Docker Inc.) 转载于:http://www.itxuexiwang.com/a/liunxji

运行第一个容器 - 每天5分钟玩转容器技术(4)

为了让大家对容器有个感性认识,我们将尽快让一个容器运行起来. 首先我们需要搭建实验环境. 环境选择 容器需要管理工具.runtime 和操作系统,我们的选择如下: 管理工具 - Docker Engine因为 Docker 最流行使用最广泛. runtime - runcDocker 的默认 runtime 操作系统 - Ubuntu虽然存在诸如 CoreOS 的容器 OS,因考虑到我们目前处于初学阶段,选择大家熟悉的操作系统更为合适.等具备了扎实的容器基础知识后再使用容器 OS 会更有利. 安

当公有云Azure拥抱Docker容器技术

本文转载至 http://3387405.blog.51cto.com/3377405/1598977 预见未来看似是一件不太可能的事情,然而现在企业科技高速发展的态势完全超乎想象. 就在几周前InfoWorld的主编Eric Knorr在引流潮流专栏发表一篇非常火爆的关于2015年以及之后的九大科技企业趋势,在其中非常清晰的指出这九大潮流中头两位就是公有云的胜利和容器技术的狂热.从这里我们很容易理解为什么最近Scott Guthrie 发表并且Jason Zander 再次阐述与Docker合

Docker 组件如何协作?- 每天5分钟玩转容器技术(8)

还记得我们运行的第一个容器吗?现在通过它来体会一下 Docker 各个组件是如何协作的. 容器启动过程如下: Docker 客户端执行 docker run 命令. Docker daemon 发现本地没有 httpd 镜像. daemon 从 Docker Hub 下载镜像. 下载完成,镜像 httpd 被保存到本地. Docker daemon 启动容器. docker images 可以查看到 httpd 已经下载到本地. docker ps 或者 docker container ls 

容器生态系统 - 每天5分钟玩转容器技术(2)

对于像容器这类平台级别的技术,通常涉及的知识范围会很广,相关的软件,解决方案也会很多,初学者往往容易迷失. 那怎么办呢? 我们可以从生活经验中寻找答案.当我们去陌生城市旅游想了解一下这个城市一般我们会怎么做? 我想大部分人应该会打开手机看一下这个城市的地图: 城市大概的位置和地理形状是什么? 都由哪几个区或县组成? 主要的交通干道是哪几条? 同样的道理,学习容器技术我们可以先从天上鸟瞰一下: 容器生态系统包含哪些不同层次的技术? 不同技术之间是什么关系? 哪些是核心技术哪些是辅助技术? 首先得对

Fedora 中的容器技术:systemd-nspawn

本文将说明你可以怎样使用 Fedora 中各种可用的容器技术和学习"systemd-nspawn"的相关知识. 容器是什么? 一个容器就是一个用户空间实例,它能够在与托管容器的系统(叫做宿主系统)相隔离的环境中运行一个程序或者一个操作系统.这和"chroot"或虚拟机的思想非常类似.运行在容器中的进程是由与宿主操作系统相同的内核来管理的,但它们是与宿主文件系统以及其它进程隔离开的. 什么是 systemd-nspawn? systemd项目认为应当将容器技术变成桌面

4 个你需要了解的容器网络工具

摘要: 有如此之多的各种新的云计算技术.工具和技术需要我们跟进,到底从哪里开始学习是一个艰难的决定.这一系列下一代云计算技术的文章旨在让你快速了解新兴和快速变化领域的重大项目和产品,比如软件定义网络(SDN).容器,以及其交叉领域:容器网络. 有如此之多的各种新的云计算技术.工具和技术需要我们跟进,到底从哪里开始学习是一个艰难的决定.这一系列下一代云计算技术的文章旨在让你快速了解新兴和快速变化领域的重大项目和产品,比如软件定义网络(SDN).容器,以及其交叉领域:容器网络. 对于企业容器部署,容

数人云容器管理工具 Crane 现已开源

这是一个容器信息臃肿的时代. Docker 鲸鱼鼓着圆圆的肚子在西雅图开了一场名为 DockerCon2016 的大会,全球 4000 人参加, 8 大看点留下对容器生态的更多畅想. 数人云一直专注于以企业级的 Mesos +容器技术栈,出于对容器新技术的热爱,我们在社区版的工具上小试牛刀,距 DockerCon2016 已过去 83 天,从看看了解,到深入研究,再到开放内测,不知不觉到了开学军训季. Fork me on Github , Crane 开源啦! 上周( 9 月 6 日)数人云新