编者按:Docker 1.9今天正式发布,Docker Swarm 和多跨主机网络进入 production-ready 阶段,Docker Engine 提供了全新的存储卷管理系统,Docker Compose 对更多环境提供了更好的支持。所有的这些都为大规模部署生产环境下的分布式应用打下了坚实的基础。本文由灵雀云高级软件工程师刘梦馨编译,以下为译文:
容器化的思潮正在改变基础设施的构建,你需要用最好的工具来完成这个目标。通过 Docker Swarm 你可以将整个集群当做一个资源池来对待去运行分布式应用,但是所有这些组成应用的容器你还需要一些额外的管理。例如有些需要相互之间进行通信,有的需要数据卷进行存储。总的来说真正让容器在集群中运行管理起来是件十分复杂的事情。
好消息是我们已经帮你解决了这些问题。Docker Network 允许你基于多个主机创建一个虚拟网络,这样容器间就可以跨网络进行通信。Docker 中最新的存储卷管理系统可以让容器在任何机器上都能持久化数据存储。在此之上你可以用 Compose 来操纵这一切。
Networking 在六月份的 DockerCon 上宣布作为实验版本的一部分现在正式进入稳定版分支,并且已经 production ready。
Networking 允许你基于多个主机创建一个虚拟网络,这样容器间就可以跨网络进行通信。容器不管在哪里都可以添加到这个虚拟网络中,虚拟网络中提供了完整的网络拓扑控制,你可以控制哪些容器之间可以进行通信。除此之外你也可以利用其它插件来进行网络控制,使得你无须修改之前的应用。
网络方面更详细的内容可以参考 http://blog.docker.com/2015/11 ... ng-ga ,我们也会针对 networking 举办一次线上的 meetup,你将会从负责这块的工程师那里获得更多信息。
release not 网络那里最后新增了一条
将容器 NetworkSettings API v1.21 中的 EndpointID, Gateway, GlobalIPv6Address, GlobalIPv6PrefixLen, IPAddress, IPPrefixLen, IPv6Gateway 和 MacAddress 标记为 DEPRECATE。这些现在为 bridge 网络的特定配置。可以通过 NetworkSettings.Networks 来查看每个容器网络的网络配置
你们一遍又一遍的向我们吐槽 Docker 持久化存储在分布式系统的难用, Docker 1.8 加入了存储卷插件可以用任何第三方存储系统来备份存储卷,
我们现在做的又要好了一点。Docker 1.9 包含一个重新设计的完整存储卷管理系统使得你可以更加容易的从前端来管理这些插件。而且它已经和 Swarm 集成,你可以在整个集群中管理你的存储卷。
下面是一个和 Flocker 插件集成的示例:
$ docker volume create -d flocker --name=myvolume
$ docker run -v myvolume:/data busybox sh -c "echo hello > /data/file.txt"
$ docker run -v myvolume:/data busybox sh -c "cat /data/file.txt"
现在还支持 Blockbridge, Ceph, ClusterHQ, EMC 和 Portworx 插件,更多相关信息可以参考存储卷文档和存储卷插件文档。
Docker Swarm 是 Docker 原生的集群管理系统。在本版本中我们进行了大量的测试,修复了 Bug 并进行了很大程度的优化。随着网络和存储卷管理在这个版本的发布,我们终于可以说 Swarm 已经 production-ready。我们在 1000 个节点上测试了 30000 个容器,swarm 可以如丝般润滑的运行。
除了网络和存储卷管理之外,1.9 还提供了大量新特性:
在发布日志中你可以获得完整的更新列表,感谢所贡献者尤其是 Madhav Puri 贡献了构建时参数, Darren Shepard, Patrick Hemmer 和 Harald Albers 做了大量的测试和 review 使得这个版本能顺利发布。
Docker Compose 是一个定义并运行多容器应用的工具,我们来看一下它有那些更新:
可以在发布日志中获得更完整的更新列表。
如果你想在 Mac 或者 Windows 上使用这些新特性,那么就要用到 Docker Toolbox 了。它包含了所有这些最新的特性,并且只需要一个安装包就可以搞定。
他还包含了 Machine 0.5,一个在你的桌面机和云服务商那里创建 Docker Engine 的工具。Machine 现在提供了可插拔的插件,因此如果 Machine 不支持某个云服务商或者虚拟化服务商,而你又需要在他们之上运行 Docker,你可以编写自己的驱动插件。
本版本还包含了一些列新的特性和 bug 修复,现在 Toolbox 已经提供下载了。
下面是最新版本的特性更新:
可以在发布日志中获得完整的更新列表,今天就可以试用新版本的 Registry 了。
原文链接: Announcing Docker 1.9: Production-ready Swarm and Multi-host Networking