Docker 提供对 Mac OS X 和 BTRFS 的支持

  • Chris Swan
  • 臧秀涛

2014 年 2 月 19 日

话题:Linux云计算DevOps语言 & 开发

作为0.8 版本的一部分,Docker.io 团队宣布 Docker 已经支持在 Mac OS X 上安装,还支持使用BTRFS替代AUFS

对 Mac 的支持是通过两个组件实现的,一个是原生的 Docker OS X 客户端,一个是轻量级的Boot2Docker虚拟机(VM),该虚拟机必须在VirtualBox中运行(因为 OS X 没有提供 Docker 所需的 Linux 容器这种底层支持)。在该版本发布之前,Mac 用户必须在 Linux 虚拟机中运行 Docker 客户端和后台程序。

Docker 团队曾经表明,他们希望把 Linux 容器(LXC)以及其他依赖移植到 OS X 上,但是到目前为止他们的后台程序还是必须在虚拟机中运行。Boot2Docker 提供了一个最小化的 Linux 环境,以及一组可以配合 VirtualBox 使用的命令行脚本。Boot2Docker 提供了生命周期管理,还可以处理 SSH 和虚拟机中运行的 Docker 后台程序之间的端口映射。它使用了 DOCKER_HOST 环境变量,这样客户端就能通过 TCP 连接到 Docker 后台程序,而不是通过默认的原生 Unix 套接字。遗憾的是 Boot2Docker 还没有集成 Docker 自己的端口映射机制,所以就目前而言,要从宿主 Mac 机器连接到在容器中运行的服务,在 VirtualBox 和 Docker 中映射端口还是必要的。

BTRFS 驱动被描述为实验特性,而且需要先创建好一个 BTRFS 分区。对于 Docker 的工作而言,底层的写时复制(copy on write)文件系统是必不可少的,映像以及从映像派生出的容器,都是由多个层次组成,其中每个层次映射到一个文件系统分支。ZFS驱动相关的工作也在进行之中。

Docker.io 团队还宣布,他们从现在开始会采取每个月发布一个新版本的策略,每个月的第一周发布。发布日期不会与任何具体特性关联起来,也就是说,在此日期之前加入的特性会包含进来,后加入的特性则进入下一个发布窗口。此后 Docker.io 团队获得了由前 VMware 副总裁、Greylock Partners 的 Jerry Chen 主导的 $1500 万美元的融资。这笔钱将用于为 Docker 的产品化做好准备、构建出社区平台并寻找商业化之路。Docker 团队还承诺,他们的github 主分支将保持稳定,如果想获得最新版本,可以直接从主分支获取代码并构建。在最近这轮融资之前,dotCloud 将公司的名字改成了 Docker Inc

关于 Docker 以及它如何使用的更多背景信息,可以参看 Zef Hemel 的“Docker:利用 Linux 容器实现可移植的应用部署”一文。

查看英文原文:Mac OS X and BTRFS support in Docker

Linux云计算DevOps语言 & 开发