近日,Docker 公司正式发布 Docker 1.9 版本。该版本包含了正式用于产品的 Swarm 和多宿主机互联功能,为 Docker 引擎添加了新的卷管理系统,并修改了 Compose 使其更好的支持多种环境。
为了更好的使用容器来完成相关工作,Docker 提出了一整套的解决方案——互联(Networking)负责创建虚拟网络,为容器间通信提供支持;Docker 引擎中新的卷管理系统负责为数据永久存储提供帮助;在这些基础上,Compose 负责运行应用程序。总而言之,该版本进行了重大升级,为扩展分布式应用产品提供了基础。
多宿主机互联
在今年 6 月份的 DockerCon 上,互联曾经作为测试版本的特性被提出。目前,该特性正式集成在了 Docker 引擎的稳定版中,并将在产品中使用。其主要功能是为跨宿主机创建 Docker 引擎中的虚拟网络提供支持。用户可以把其所属的容器挂载到网络中,并控制网络拓扑和通信方式。此外,系统还允许用户在不修改应用的情况下直接与任何网络进行集成。更多详情可以参考 Docker 官网中的互联专题博客和 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 1.0
Swarm 是一个为 Docker 引擎服务的原生集群系统。在新的版本中,Docker 公司对 Swarm 进行了重新测试和升级,消除了若干 bug,并进行了性能优化。Docker 公司表示,和互联以及卷管理系统结合在一起,Swarm 完全可以用于用户产品。而且,Docker 公司已经在 1000 个节点/30000 个容器规模下进行测试,工作正常。
Docker 引擎 1.9
新版的 Docker 引擎中加入了一些新的特性:
docker build
来定制编译镜像的方式。例如,用户可以通过设置HTTP_PROXY
来定制一个依赖包的安装版本等。 STOPSIGNAL
Dockerfile 指令,允许用户可以定制化运行docker stop
时的信号。 docker stats
可以直接显示磁盘的I/O情况。 Docker 引擎的完整特性列表可以参看版本说明。
Docker Compose 1.5
Compose 是一个定义和运行多容器应用程序的工具。该版本中新添加的特性如下:
Compose 的完整特性列表可以参看版本说明。
Docker 工具箱
用户可以通过 Docker 工具箱来使用所有在开发中的工具。它包含了以上所有工具的最新版本,并将其集成为了一个统一的安装包。此外,它还包括了在个人电脑和云提供商处创建 Docker 引擎的 Machine 0.5 工具。而 Machine 目前一经拥有了可插拔的驱动器。对于目前部支持 Docker 容器的云平台,用户可以编写自己的驱动器。
Docker Registry 2.2
该版本 Registry 的新添加特性如下:
Registry 的完整特性列表可以参看版本说明。