Loading...

文章背景图

Docker / Moby:开源容器化平台|使用与源码构建全指南

2026-11-02
0
- 字
- 分钟
|

图1 Moby Project 官方标识

Moby / Docker Engine · 开源容器化平台|使用与源码构建全指南

项目仓库: https://github.com/moby/moby

开源协议:Apache 2.0 · 语言:Go · Go 模块:github.com/moby/moby/client · 发布标签:docker- 前缀 · 与 Docker 关系:Moby 是 Docker 产品的上游开源项目


1 项目简介

Moby 是 Docker 创建的开源项目,用于实现并加速软件容器化。它提供一套"乐高积木"式的工具组件、把它们组装成自定义容器系统的框架,以及供容器爱好者与专业人员实验交流的场所。组件包括容器构建工具、容器镜像仓库、编排工具、运行时等,可作为构建块与其他工具组合。Docker 以 Moby 作为 Docker 产品的上游。

1.1 核心信息一览

项目项 内容
项目名称 Moby Project(Docker Engine 上游)
仓库地址 github.com/moby/moby
项目定位 开源容器化工具组件集
开源协议 Apache 2.0
语言 Go
Go 客户端模块 github.com/moby/moby/client
发布标签 docker- 前缀(如 docker-v29.0.0)

1.2 适用场景

  • 想要容器化应用的工程师/集成者。
  • 想修改、实验、构建自定义容器系统。
  • 用 Go 客户端调用 Docker Engine API。

1.3 能力边界(官方口径)

  • Moby 不是 Docker 产品的支持渠道;企业支持用 Docker Desktop 或 Mirantis Container Runtime。
  • 根模块 github.com/moby/moby/v2 只产出二进制,不作为 Go 库导入,无 API 稳定性保证。

2 设计原则与受众

  • 模块化:包含足够组件搭出完整容器系统,但可替换。
  • 面向开发者:API 面向构建工具的开发者,而非终端用户。
  • 受众:想修改、实验、发明容器系统的工程师、集成者与爱好者。

3 官方跳转链接汇总

类别 链接 说明
仓库主页 https://github.com/moby/moby 源码
Go 客户端 github.com/moby/moby/client Docker Engine API Go 客户端
v29 发布说明 docker-v29.0.0 Go SDK 变更
Docker Desktop docker.com/products/docker-desktop 企业产品

4 Go 模块迁移(v29 起)

自 Docker v29(2025 年 11 月发布)起,github.com/docker/docker 模块废弃不再更新,迁移到 Moby 模块:

- import "github.com/docker/docker/client"
+ import "github.com/moby/moby/client"

- import "github.com/docker/docker/api/types"
+ import "github.com/moby/moby/api/types"

v29 含大量破坏性变更(option struct、方法重命名、类型移动),详见 v29.0.0 发布说明。

5 使用与构建

  • 普通用户:直接安装 Docker Desktop / Docker Engine(产品),无需克隆本仓库。
  • 构建容器引擎:根模块 github.com/moby/moby/v2 用于构建基于 Moby 的容器引擎(如 Docker Engine)。
  • 发布标签:Docker Engine 发布以 docker- 前缀打标签(如 docker-v29.0.0),仅供从根模块构建二进制,不要 go get。

6 常见问题

  • Moby 和 Docker 什么关系:Moby 是上游开源项目,Docker 产品基于它。
  • 企业支持:用 Docker Desktop 或 Mirantis Container Runtime,不要在 Moby 仓库提产品支持请求。
  • import 路径变了:迁移到 github.com/moby/moby/client。

7 风险与说明

  • 许可证:Apache 2.0。
  • 出口管制:使用/转移 Moby 可能受美国等政府法规限制。
  • 非官方声明:本文基于官方仓库 README 整理,模块与标签以 master 分支最新为准。
评论交流

文章目录