当前位置:  开发笔记 > 前端 > 正文

如何自动更新Docker Hub的完整描述?

如何解决《如何自动更新DockerHub的完整描述?》经验,为你挑选了1个好方法。

我正在使用Travis CI从Dockerfiles构建docker镜像,然后成功将它们推送到Docker Hub.

我已经创建了一个MD文件来描述图像以及如何使用它.我想在完整描述部分的Docker Hub上有相同的描述.

由于我将来可能会更新说明,因此我想让Travis CI使用新映像自动更新基于存储库中MD文件的描述.

谁知道怎么做?



1> Thomasleveil..:

由于Docker Hub不公开任何API,因此远程向Docker Hub发送内容的唯一方法是使用该docker push命令,这限制了发送图像的用途.

另一方面,如果您让Docker Hub服务从Github或Bitbucket存储库为您构建映像,那么Doc​​ker Hub将通过获取该README.md存储库中找到的文件的内容来更新长描述.请参阅Docker Hub的Automated Build文档中的了解构建过程部分.

这意味着您在Github或Bitbucket上托管DockerfileREADME.md文件.


如果你真的需要首先在TravisCI上构建你的图像(也许是因为你也在构建的图像上运行自动化测试),那么你可以让TravisCI在Docker Hub上触发webhook,告诉Docker Hub在TravisCI确定它正在通过后构建图像测试.

为此,在Docker Hub中,像配置自动构建一样配置图像(因此关联Github或Bitbucket项目),但是停用自动化功能:

Docker Hub项目构建设置

然后在Build settings页面上向下滚动到Build Trigger部分并复制触发URL:

Docker Hub项目构建触发器

现在编辑.travis.yml文件并添加以下块(请注意占位符):

after_success:
# notify Docker Hub to make a new build
- >
  [ "$TRAVIS_BRANCH" == "master" ]
  && curl -X POST -H "Content-Type: application/json"
  --data '{"docker_tag_name": "latest"}'
  https://registry.hub.docker.com/u///trigger/$DOCKER_HUB_TOKEN/

然后转到Travis CI网站上的项目页面,打开项目设置:

Travis CI项目设置

DOCKER_HUB_TOKEN使用Docker Hub Build Settings页面上的触发器令牌值将环境变量添加到Travis CI项目:

Travis CI项目环境变量

您仍然需要与Docker Hub项目关联的Github或Bitbucket存储库,但Travis CI将指示Docker Hub何时构建您的映像.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有