Docker 1.8:可信镜像、Toolbox、Registry及编排工具更新
【原文编者的话】
1.7 发布不到一个月 1.8 就重磅来袭。生产、生产还是生产,Docker 为了让自己能更适应生产环境进行了加速奔跑,我们也需要紧随技术的步伐不断前进。
我们很高兴的宣布 Docker 1.8 的发布,最新的版本包含了对镜像签名的支持,新的安装器以及 Engine、Compose、Swarm、Machine 以及 Registry 的多项改进。
你们过去总是和我们说想要一个扩展性更好的 Docker 以及一系列更小的可单独运行组件所组合起来的 Docker。我们清楚的听到了你们的呐喊。七月时,我们曾宣布将 runC 作为一个独立组件来发展的路线。随着这次新版的发布,我们又一次向这个目标推进了一步。这次发布的镜像签名系统是一个独立的组件,名称为 Notary。在 1.7 中存储卷插件是一个试验特性,现在该功能已经被集成到稳定发行版中。
为了帮助用户在生产环境中使用Docker,Docker 1.8做了很多重大改进。
Docker 可信镜像及升级框架(The Update Framework,TUF)
Docker 可信镜像是 1.8 所提供的一个新功能,这使得我们可以校验镜像的发布者。当发布者将镜像 push 到远程的仓库, Docker 会对镜像用私钥进行签名。之后去 pull 这个镜像,Docker 会用发布者的公钥来校验该镜像是否和发布者所发布的镜像一致,是否被篡改过是否是最新版。
更多关于可信镜像的内容以及 TUF 的使用可以参考这篇博客。
Docker 工具箱
和 Docker 一同发布的还有我们为 Mac OS X 以及 Windows 所准备的新安装器 Docker Toolbox。
Toolbox 是获取以及运行 Docker 生产环境最快捷的方式。它将会安装 Docker 客户端、Machine、Compose(Mac 环境下)以及 VirtualBox 所有你运行 Docker 所需要的工具。
快来下载 Docker Toolbox 吧,或者在这篇博客中阅读更多 Toolbox 相关的内容。
Docker Engine 1.8
在最新版 Docker 中我们引入了存储卷插件的实验特性,允许用户选择第三方存储系统作为存储卷的后端。存储卷插件目前已经集成到 Docker 稳定版本中,社区的小伙伴们也积极的将各种存储系统与 Docker 进行集成。Blockridge、Ceph、ClusterHQ和 EMC 都已经加入到我们的生态系统之中。
在 1.6 版本我们加入了日志驱动,使得用户可以将日志直接从容器输出到如 syslogd 这样的日志系统中。在1.8版本中,我们加入了对更多日志系统的支持:GELF、Fluentd 以及一个可以在你的磁盘上切割日志的驱动。
除此之外,我们还加入了一些会让你喜欢的小功能:
- 从宿主机向容器复制文件:docker cp 过去只能从容器向外复制文件,现在他可从另一个方向工作了:docker cp foo.txt mycontainer:/foo.txt
- Daemon command:现在运行 daemon 可以通过新的 docker daemon 命令来启动,来替代之前的 -d 选项。这使得 Docker 的命令行选项对于客户端 (docker --help) 和 daemon (docker daemon --help) 区别更加的清晰。
- 定制化 ps 格式:docker ps 的新参数 --format 可以用来自定义该命令的输出格式。
- 可配置的客户端配置文件目录:Docker 客户端将一些配置文件存放在 ~/.docker 中。为了应对你需要在一台机器上运行多个客户端的情况我们新蹭了 --config 选项来设置配置文件路径以及 DOCKER_CONFIG 环境变量。
在完整的发布日志中可以得到更多细节相关信息。在安装指南中介绍了标准的升级步骤。如果你的系统是 Ubuntu、Debian、Fedora、CentOS 或者 Oracle Linux,你可能会对我们本版本最新加入的 apt 和 yum 源感兴趣。
Docker Registry 2.1
遥想四月份,我们发布了 Registry 2.0 并且引入了新的镜像格式以及针对 pull 镜像性能更好的架构。现在我们发布了 Registry 2.1,这是一个更快,更安全的 Registry 并提供了下面一些新的特性:
- List 镜像:现在你可以用新的 API 来列出你仓库中的镜像。
- 新的存储驱动:除了 Amazon S3 以及 Azure 外,镜像现在可以存储在 OpenStack Swift、Ceph Rados 以及 Aliyun OSS 上。
- 软删除:现在你可以通过 API 来删除仓库中通过引用所指向的镜像及 layer。
在发布日志中可以获得完整的细节信息,或者可以直接从开始文档开始。
编排升级
我们升级了 Compose、Swarm 和 Machine 来更好的支持编排分布式应用。下面是 Compose 1.4 的新特性:
- 大幅提速:你将会发现应用启动和停止都变得特别特别特别快。Compose 现在只会在需要时重新创建容器,并且尽可能的并行执行操作。
- 自定义容器名: 你可以在 Compose 文件中传入 container_name 选项来给服务容器一个特定的名称。
- 从标准输入读取配置:Compose 现在可以从标准输入读取配置,你可以自动画的生成配置文件:
$ echo 'redis: {"image": "redis"}' | docker-compose --file - up
在发布日志中有详细的细节介绍。如果你的系统是 Mac OS X,那么你可以下载 Toolbox 来试验 Compose。如果你在其它系统平台请参考安装手册。
Machine 0.4 作为安装 Docker 开发环境的推荐方式,现在默认包含在 Toolbox 中。这个版本支持为 Engine 配置 HTTP 代理以及其它一些小的功能。更多细节在发布日志中可以查看,也可以直接下载 Toolbox 来试验 Machine。
Swarm 0.4 现在已经是稳定可靠的了。它包含了一些列内建调度器的优化以及 Mesos 驱动器的优化。现在你可以通过 Docker 工具来控制一个 Mesos 集群。更多细节可以参考发布日志 或者通过开始手册来运行 Swarm。
更多 Docker 1.8 相关信息
加入我们即将到来的由工程师主导的 Docker 线上 meetup 来讨论 Docker 1.8 的相关特性,包括插件、可信镜像以及 Toolbox。点击这里进行注册。
作者简介: