moby/moby
GitHub: moby/moby
Moby 项目是一个模块化容器生态系统,用于构建和定制容器化系统。
Stars: 71692 | Forks: 18960
# Moby 项目
[](https://pkg.go.dev/github.com/moby/moby/v2)

[](https://goreportcard.com/report/github.com/moby/moby/v2)
[](https://scorecard.dev/viewer/?uri=github.com/moby/moby)
[](https://www.bestpractices.dev/projects/10989)

Moby 是由 Docker 创建的一个开源项目,旨在启用和加速软件容器化。
它提供了一套“乐高积木”式的工具组件,用于构建自定义基于容器的系统框架,并为所有容器爱好者和专业人士提供了一个实验和交流想法的地方。
组件包括容器构建工具、容器注册库、编排工具、运行时等,这些可以作为构建块与其他工具和项目结合使用。
## 原则
Moby 是一个遵循强大原则的开放项目,旨在模块化、灵活,并对用户体验没有太强的意见。
它向社区开放,以帮助确定其方向。
- 模块化:该项目包括许多具有明确定义的功能和API的组件,它们可以协同工作。
- 包含电池但可替换:Moby 包含足够的组件来构建功能齐全的容器系统,但其模块化架构确保大多数组件可以通过不同的实现进行替换。
- 可用性安全:Moby 提供安全默认值,而不牺牲可用性。
- 开发者导向:API旨在功能强大且对构建强大工具有用。
它们不一定旨在作为最终用户工具,而是作为面向开发者的组件。
文档和用户体验旨在面向开发者而非最终用户。
## 目标受众
Moby 项目旨在为工程师、集成人员和爱好者提供,他们希望修改、破解、修复、实验、发明和构建基于容器的系统。
这不是为寻找商业支持系统的人准备的,而是为希望与开源代码一起工作和学习的人准备的。
## 与 Docker 的关系
Moby 项目中的组件和工具最初是 Docker 和社区为 Docker 项目构建的开源组件。
如果新项目符合社区目标,可以添加新项目。Docker 承诺将 Moby 作为 Docker 产品的上游使用。
然而,也鼓励其他项目使用 Moby 作为上游,并以不同的方式重用组件,所有这些用途都将得到同等对待。欢迎外部维护者和贡献者。
Moby 项目不是为了作为 Docker 产品的支持或功能请求的位置,而是作为贡献者工作于开源代码、修复错误和使代码更有用的地方。
发布由维护者、社区和用户支持,仅基于最大努力。对于需要企业或商业支持的客户,[Docker Desktop](https://www.docker.com/products/docker-desktop/) 和 [Mirantis Container Runtime](https://www.mirantis.com/software/mirantis-container-runtime/) 是这些用例的适当产品。
## Go 模块
受支持的公共 Go 模块包括:
| 模块 | 描述 |
|---|---|
| [`github.com/moby/moby/client`](client/) | Docker Engine API 的 Go 客户端 |
| [`github.com/moby/moby/api`](api/) | 客户端和服务器之间共享的 API 类型 |
根模块 `github.com/moby/moby/v2` 是基于 Moby 构建容器引擎(如 Docker Engine)的代码库。
它仅生成二进制文件 - 它 **不打算作为 Go 库导入**,并且没有 API 稳定性保证。
### 发布标签
Docker Engine 发布带有 **`docker-`** 前缀的标签(例如,`docker-v29.0.0` 对应 Docker Engine 29.0.0)。
这些标签仅用于从根模块构建 Docker Engine 二进制文件 - 它们不得通过 `go get` 消费。
`client` 和 `api` 模块使用自己的标签独立版本化(例如,`client/v1.x.x`,`api/v1.x.x`)。
### 从 `github.com/docker/docker` 迁移
替换旧的导入路径:
```
- 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 包含许多破坏性 API 变更(选项结构体、重命名的函数、移动的类型)。
有关 Go SDK 变更的完整列表,请参阅 [v29.0.0 发布说明](https://github.com/moby/moby/releases/tag/docker-v29.0.0)。
# 法律
*由我们的法律顾问提供。有关更多背景信息,请参阅此存储库中的[NOTICE](https://github.com/moby/moby/blob/master/NOTICE) 文档。*
Moby 的使用和转让可能受到美国和其他政府某些限制。
确保您的使用和/或转让不违反适用法律是您的责任。
有关更多信息,请参阅 https://www.bis.doc.gov
# 许可证
Moby 根据 Apache 许可证第 2 版许可。有关完整许可文本,请参阅 [LICENSE](https://github.com/moby/moby/blob/master/LICENSE)。
标签:API, DNS解析, Docker, EVTX分析, Go 语言, NIDS, 威胁情报, 安全, 安全防御评估, 容器化, 容器化创新, 容器化工具, 容器化平台, 容器化框架, 容器化社区, 容器化解决方案, 容器技术, 容器构建工具, 容器注册中心, 容器管理, 开发者工具, 开源许可, 开源项目, 数据管道, 日志审计, 模块化, 灵活性, 社区驱动, 系统架构, 编排工具, 请求拦截, 超时处理, 软件容器, 软件容器化生态系统, 软件工程, 软件构建块, 运行时