Docker 1.12新增功能 您应该知道的5大功能

Docker有哪些新功能以及它如何影响您的代码?

Docker 1.12版本已经发布,并且在过去几周内进行了一些更新。 版本名称可能意味着此更新仅包含一些新功能,但通过发行说明可以讲述一个完全不同的故事。

在以下文章中,我们收集了最有趣的新功能,因此您将肯定知道要检查的内容。 发货了!

引入功能

每个人都在谈论Docker。 难怪,因为公司承担了运输代码的艰巨任务,并使用容器使其变得更快,更容易。 但是,如果我们不得不选择Docker能够识别的一个词,那么“功能”就可能是它。

每个Docker版本都具有大量新功能。 无论我们谈论的是版本1.12、1.11还是版本1.8,都没关系–发行说明中总是充满了改进,改进或全新的功能。

但是,并非所有这些都让每个用户都兴奋,因为Docker有各种各样的用例。 一些开发人员仅使用它来更轻松地发布代码,而其他开发人员则不在乎发布,但他们确实在乎包含应用程序和代码。

这可能会造成混乱,尤其是因为这些新功能是可选功能,而有些功能可能未被注意。 这就是为什么我们决定为您辛勤工作,并向您展示我们遇到的5大新功能。

1.编排

通过业务流程,您不必在单个主机上分别部署容器,而是可以在许多计算机上部署复杂的多容器应用程序。 曾经有时间,资源和金钱来维护分布式平台的人可以使用此选项,但是现在不再可用。

Docker 1.12增加了使多主机和多容器编排可供所有人使用或使用的功能。

docker编排

Docker编排

您将能够在一组称为Swarm的Docker引擎上管理应用程序。 什么是群? 您很高兴地问到,这是您应该了解的下一个功能:

2.群

我们的最后一句话可能会毁了这个惊喜,但万一您错过了它:Swarm让您可以将Docker主机群集控制为单个虚拟主机。 这是一个自组织的引擎组,旨在实现可插入的后端。 曾经是一个单独的工具,现在已成为Docker本身的一部分,这使使用它变得更加容易。

这是什么意思? Swarm使用Docker API作为其前端,它使您可以使用各种工具来控制它,例如Jenkins,Shipyard等。

该组中的第一个节点将是管理器,接受命令并安排任务。 添加的其他节点将是执行其订单的工作程序,但是您可以添加其他管理程序以备不时之需。

您如何创建它? 通过以下简单的代码行:

docker swarm初始化

此功能给我们带来的一些亮点:

  • 能够从单个磁盘映像构建整个Swarm并使用引擎在部署时部署管理器和辅助节点的能力
  • Swarm还监视群集状态,并在计算机崩溃时分配副本
  • 为您的服务指定覆盖网络,并自动为该网络上的容器分配地址
  • 将服务端口公开给外部负载均衡器,并指定如何在节点之间分配服务容器

这些只是Swarm中可用的一些选项。 如果引起您的注意,则可以在此处查看完整的功能列表。

3.路由网格

顾名思义,路由网格将对可用节点上已发布端口的传入请求路由到活动容器。 实际上,即使节点上没有任何任务在运行,该功能也可以启用连接。

如果我们仔细研究一下,Routing Mesh将使每个节点能够接受Swarm中运行的任何服务在已发布端口上的连接。 因此,即使它没有部署服务,它也可以通过Swarm内所有节点上的相同端口访问服务。

除了路由请求之外,路由网格还可以在Swarm内部的所有可用服务之间平衡请求,并检测节点故障。 这将我们引向1.12中的下一个新功能:

4.健康检查

Healthcheck指令告诉Docker如何测试容器是否仍在工作,在1.12.1版中,您将找到一条新的Healthcheck Dockerfile指令来支持用户定义的健康检查。 因此,现在我们可以定义完全健康的容器对我们意味着什么,并进行相应检查。

使用此功能将使我们能够发现以前可能忽略的各种情况,例如服务器进程仍在运行,但无法处理新连接。

此功能与Swarm功能一起使用,并且如果我们的容器之一被标记为不正常,则将为我们处理问题,并且将出现副本容器。

5.服务

服务是任务列表,可让您指定群集内容器的状态。 每个任务代表一个应该运行的容器实例,而Swarm跨节点调度它们。

创建服务后,我们可以选择以下两个选项之一:复制服务或全局服务:

复制服务使您可以将任意数量的容器分布在可用主机上,而全局服务仅为Swarm中每个主机上的同一容器调度一个实例。

在后台,Docker监视群集并相应地更改它们以匹配我们所需的状态。

还值得一提

万一您错过了它,Docker在1.11版中引入的最大更新之一就是通用容器运行时RunC

这是一个开源的CLI工具,轻巧,可移植,并基于libcontainer构建,可为数百万个Docker Engine安装提供支持。 这意味着它已经“准备就绪”,并且包含了Docker本身用来与容器相关的系统功能进行交互的代码。

该工具提供对Linux名称空间的完全支持,以及对实时迁移的本机支持。 当然,它的目标是使标准容器在任何地方都可以使用。 您可以在生产环境中使用它,也可以在平台中将其用作Docker部署的一部分。

最后的想法

每个Docker版本都有一个功能齐全的背包供您选择。 这是该项目大肆宣传( 也许太大? )的部分原因,但同时也带来了一些负面反馈。

尽管该公司专注于新版本,但有些人可能声称它忽略了较早的错误,问题,甚至承担了诸如稳定性之类的重要任务。

顺便说一句,如果您有兴趣监视Docker中的JVM,还应该检查OverOps Docker集成。

翻译自: https://www.javacodegeeks.com/2016/09/whats-new-docker-1-12-top-5-features-know.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值