Docker 1.9正式发布,支持Swarm和多宿主机互联
近日,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引擎中加入了一些新的特性:
- Dockerfile中的编译时参数:用户可以在Dockerfile中定义参数,然后传递给
docker build
来定制编译镜像的方式。例如,用户可以通过设置HTTP_PROXY
来定制一个依赖包的安装版本等。 - 并发式拉取镜像:如果用户想要拉取的镜像已经在拉取列表中,系统会显示拉取进度,并正确退出命令。否则,系统会同时进行多个镜像的拉取。
- 定制化停止信号:引擎中添加了一个
STOPSIGNAL
Dockerfile指令,允许用户可以定制化运行docker stop
时的信号。 - AWS CloudWatch记录驱动:如果用户使用AWS服务,新版引擎支持将容器日志直接发送到CloudWatch。
- 磁盘I/O统计:
docker stats
可以直接显示磁盘的I/O情况。
Docker引擎的完整特性列表可以参看 版本说明 。
Docker Compose 1.5
Compose是一个定义和运行多容器应用程序的工具。该版本中新添加的特性如下:
- 支持Windows:Compose目前可运行在Windows环境中,并已经集成在 Windows版本的Docker工具箱 中。
- Compose文件中的环境变量:通过使用环境变量,用户可以使得Compose文件中的任何内容在运行时可配置。
- 更好的支持多种环境:用户可以指定一个单独的基础文件,来描述应用程序的结构和开发/测试/产品流程中的重载情况。
- 和互联集成在了一起:用户可以部署一个跨多个宿主机的Compose应用。
- Compose文件的验证:Compose目前可以彻底验证用户的Compose文件,并将错误信息进行输出。
Compose的完整特性列表可以参看 版本说明 。
Docker工具箱
用户可以通过 Docker工具箱 来使用所有在开发中的工具。它包含了以上所有工具的最新版本,并将其集成为了一个统一的安装包。此外,它还包括了在个人电脑和云提供商处创建Docker 引擎的Machine 0.5工具。而Machine目前一经拥有了可插拔的驱动器。对于目前部支持Docker容器的云平台,用户可以编写自己的驱动器。
Docker Registry 2.2
该版本Registry的新添加特性如下:
- 支持Google云存储:用户可以把层和manifest文件存储到Google云平台中。
- 只读模式:该模式可用于防止不安全的管理员级别任务修改系统文件。
- 可配置的文件存在检查和HTTP健康检查:管理员可以通过放置一个文件在文件系统中来临时关闭Registry。Registry可以通过配置,来检查通知端点等其他服务器的健康程度。
- 可配置的HTTP响应头:用户可以定制Registry的HTTP响应头,提供安全或处理速度等。
Registry的完整特性列表可以参看 版本说明 。