在Docker Hub上发布内容
预计阅读时间:9分钟
允许的内容和支持选项
-
可以在Docker Hub上的经过验证的发布者资料下发布在Docker Enterprise上运行的内容。此内容还可能有资格成为Docker认证的容器或插件映像,并因此获得Docker / Publisher的协作支持。
-
在Docker社区上运行的内容可能会在Docker Hub中发布,但Docker不支持,也没有资格获得认证。
-
需要非认证基础结构环境的内容可能不会发布。
如果您的内容: | 可以发表 | 可以认证 | 由出版商支持 |
---|---|---|---|
在Docker社区上工作 | 是的 | 不 | 可选的 |
在Docker认证基础架构上不起作用 | 不 | 不适用 | 不适用 |
入职
Docker Hub发布过程从登录页面开始:使用Docker ID登录并指定私有或公共存储库中的产品名称和图像源。
指定来源后,提供内容清单项以填充产品详细信息页面。这些项目包括徽标,说明以及许可和支持链接,以便客户可以就您的图像做出明智的决定。这些项目与图像本身一起提交以进行审核。
然后,Docker Hub团队会对您的图像和元数据进行全面审查。我们使用Docker安全扫描来评估您的产品映像的安全性,并与您作为发布者共享结果。在图像审核阶段,我们与发布者来回迭代,以解决突出的漏洞和内容清单问题,直到准备发布图像为止。
商业内容和其他受支持的图像可能符合Docker认证容器或插件的质量标志。该程序的测试不仅仅包括漏洞扫描,还评估了容器映像,以获取多年经验中开发的Docker最佳实践。还建立了Docker与发布者之间的协作支持功能。请参阅下图,以获取高级别摘要:
创造精彩的内容
创建您的内容,并遵循我们的最佳实践对其进行Dockerize。保持图像小,图层少,组件安全。请参阅下面列出的链接和指南,以构建和提供出色的内容:
在构建无漏洞的Docker映像时,以下是一些最佳做法:
选择一个安全的基本映像(请参阅您的DockerfileFROM:
指令)
许多基本映像都有很强的安全记录,包括:
-
Debian Linux:小型且受严格控制的Debian-linux如果您当前正在使用Ubuntu,则它是一个不错的选择。
-
Alpine Linux:Alpine是最小的Linux发行版,具有出色的安全记录。
-
基于阿尔卑斯应用图片:这包括
python:alpine
,ruby:alpine
,和golang:alpine
。它们是安全且最小的,同时提供了非阿尔卑斯替代产品的便利。
Docker强烈建议使用Alpine Linux。这个Linux发行版的创始人正在Docker领导一项计划,旨在为所有容器应用程序提供安全,紧凑的基础映像。
删除未使用的组件
通常,漏洞存在于容器化应用程序中未实际使用的组件中。为避免这种情况,您可以:
-
使用该
apt-get
命令时,请遵循最佳实践。 -
运行
apt-get-remove
以销毁构建但实际上未运行您的应用程序所需的任何组件。通常,这涉及创建多行Dockerfile指令,如下所示。以下示例显示了如何删除 它们curl
以及将python-pip
它们用于安装Pythonrequests
软件包后,全部都在单个Dockerfile指令中进行:RUN apt-get update && \ apt-get install -y --no-install-recommends curl python-pip && \ pip install requests && \ apt-get remove -y python-pip curl && \ rm -rf /var/lib/apt/lists/
只能在同一指令中删除在Dockerfile的一个指令中引入的文件(而不是在Dockerfile中的后续指令中)。
保持必需的组件为最新
您的映像由开放源代码库和程序包组成,这些程序包和程序包会随着时间的流逝而积累漏洞,因此会被修补。为确保产品的完整性,请保持图像最新:
-
定期更新基本映像的版本,尤其是当您使用的是易受攻击的版本时。
-
定期重建图像。包括命令的指令,例如
apt-get install ...
拉取依赖关系的最新版本,其中可能包括安全修复程序。
创建并维护您的“验证发布者”个人资料
让Docker社区知道你是谁。添加您的详细信息,公司故事以及您的工作。至少,我们要求:
- 法人名称
- 公司网站
- 电话号码
- 有效的公司电子邮件
- 公司图标/徽标(正方形;至少512x512px)
准备图像清单材料
您必须在包含产品源的Docker Hub上提供私有或公共存储库的名称空间(包括存储库和标签)。该存储库路径不会显示给用户,但是您选择的存储库将确定可供客户下载的产品层。
以下内容信息可帮助我们使您的产品看起来很棒且易于发现:
- 产品名称
- 产品图标/徽标
- 简短描述:一到两个句子的摘要;最多140个字符
- 类别:数据库,网络,商业软件等,以及任何搜索标签
- 详细描述:包括产品详细信息/螺距
- 萤幕撷取画面
- 支持链接
- 产品层名称
- 产品层级描述
- 产品等级价格
- 安装说明
- 许可协议的链接或文本
清单信息如何在UI中显示
这是一个近似的表示,随着我们的增强,某些元素可能会发生变化。
支持您的用户
下载您内容的Docker用户稍后可能需要帮助,因此请做好准备!您随提交内容一起提供的信息可以节省将来的支持时间。
支援信息
如果您提供支持以及您的内容,请包括该信息。有支持网站吗?用户可以联系哪个电子邮件地址寻求帮助?是否有自助或故障排除资源?
支持SLA
为您提供的每个图像包括一个服务水平协议(SLA)。SLA是您对用户提供的支持的性质和级别的承诺。确保您的SLA包括支持时间和响应时间期望(如果适用)。
安全和审核政策
Docker Hub 审核映像的消费者活动,以向您提供有关产品使用情况的情报。
使用情况审核和报告
除非另有协商,否则对发布者内容的活动的审核将保留不少于180天。
将该活动的每月报告与以下数据一起提供给发布者:(1)按日期和时间由免费和付费客户下载的内容的报告;(2)报告内容的付费客户的购买,取消,退款,税款(如果适用)和订阅时间的报告;(3)发行人应收取的合并金额。
认证
Docker Hub中显示三种认证。
证明已对Docker Hub上的容器映像进行了测试;遵守最佳做法准则;在Docker认证基础架构上运行; 已证明来源;已扫描漏洞;并得到Docker和内容发布者的支持
该认证是为访问系统级Docker API的卷,网络和其他插件而设计的。Docker认证插件提供了与Docker认证容器相同的保证水平,但是通过了额外的API合规性测试套件,可以进一步提高安全性。
Docker认证发行商常见问题解答
什么是Docker认证程序?
Docker认证的Container映像和插件旨在区分Docker Hub上的高质量内容。客户知道Docker和发布者都支持该解决方案,就可以放心使用认证容器。可以在此处找到更多详细信息和应用程序。。
Docker认证的好处是什么?
Docker Hub促进了在Docker认证基础架构受信任的高质量内容上运行的Docker认证容器和插件。Docker认证徽章也可以与您产品的外部引用一起列出。
如何处理支持?
在Docker Enterprise上运行的所有Docker Certified Container映像和插件都在您现有的SLA的支持下,由发行商直接提供支持。通常,客户会与发布商联系以解决容器和应用程序级别的问题。同样,客户与Docker联系以获得Docker Enterprise支持。如果客户就应用程序问题致电Docker(反之亦然),则Docker会向客户提供有关发布者支持流程的建议,并在需要时直接执行移交给发布者的操作。在发布者和Docker之间交换支持票证需要TSAnet。
发布者如何申请Docker认证计划?
首先申请成为Docker技术合作伙伴
Official Images和Docker Certified有什么区别?
Official Images是Docker赞助的一个程序,用于策展和包装开源软件。尽管有时会涉及上游供应商,但情况并非总是如此。ISV直接明确提供,维护和支持Docker认证的内容。
插件认证如何处理?
Docker认证计划认识到需要对访问系统级接口(如存储卷和网络)的容器进行特殊的检查和测试。Docker将这些特殊容器标识为“插件”,需要发布者或Docker进行额外的测试。
码头工人,码头工人,轮毂,购买图片