Docker 官方镜像是在Docker Hub上托管的一组精选Docker存储库。它们旨在:
提供基本的基本OS存储库(例如ubuntu和 centos),这些存储库 是大多数用户的起点。
为流行的编程语言运行时,数据存储和其他服务提供嵌入式解决方案,类似于平台即服务(PAAS)所提供的解决方案。
举例说明Dockerfile最佳做法, 并提供清晰的文档,以供其他Dockerfile 作者参考。
确保及时应用安全更新。这一点尤其重要,因为Official Images是Docker Hub上最受欢迎的一些。
Docker,Inc.赞助了一个专门的团队,该团队负责审查和发布Official Images中的所有内容。该团队与上游软件维护者,安全专家以及更广泛的Docker社区合作。
虽然最好让上游软件作者维护其相应的官方映像,但这不是严格的要求。为官方镜像创建和维护镜像是一个协作过程。它在鼓励参与的GitHub上公开进行。任何人都可以提供反馈,提供代码,建议流程更改,甚至提出新的正式形象。
何时使用官方镜像
如果您不熟悉Docker,建议您在项目中使用Official Images。这些镜像具有清晰的文档,促进了最佳实践,并且是针对最常见的用例而设计的。高级用户可以在Dockerfile学习过程中查看官方镜像。
与“官方镜像”有所不同的常见理由是优化镜像大小。例如,许多编程语言堆栈映像都包含完整的构建工具链,以支持依赖优化代码的模块的安装。高级用户可以仅使用必要的预编译库来构建自定义映像,以节省空间。
诸如python和 ruby之类的许多语言堆栈 都具有-slim标记变体,旨在满足优化需求。即使这些“苗条”的版本不够用,仍建议从正式的Image base OS映像继承来利用正在进行的维护工作,而不是重复这些工作。
提交反馈的官方镜像
所有正式图像的文档中均包含“用户反馈”部分,其中涵盖了该特定存储库的详细信息。在大多数情况下,包含官方存储库的Dockerfile的GitHub存储库也具有活动的问题跟踪程序。一般反馈和支持问题应直接针对#docker-libraryFreenode IRC。
创建官方镜像
从较高的角度来看,正式映像以一组GitHub拉取请求的形式作为提案开始。以下GitHub存储库中记录了详细和客观的提案要求:
docker-library / official-images
docker-library / docs
在社区贡献者的帮助下,官方镜像小组会正式审核每个提案,并向作者提供反馈。在接受提案之前,此初步审核过程可能需要反复进行。
在审核过程中也有一些主观考虑。这些主观关注可以归结为一个基本问题:“此镜像通常有用吗?” 例如,Python Official Image对更大的Python开发者社区“通常有用”,而上周用Python编写的晦涩的文字冒险游戏却没有。
一旦接受了新的建议,作者将负责保持其镜像最新并响应用户反馈。官方存储库团队负责在Docker Hub上发布映像和文档。官方镜像的更新遵循相同的请求请求过程,但审核较少。Official Images团队最终充当所有变更的看门人,这有助于减少引入质量和安全问题的风险。