Dockerhub存储库描述

bla*_*ops 10 markdown docker dockerhub

有谁知道dockerhub如何管理自动构建存储库的描述?

Dockerhub具有很好的功能,即源存储库中的README.md被用作存储库描述.实际上,存储库的描述并不总是来自主分支的最新README.md.它似乎是随机的或与最新版本相关.

示例存储库:

  • /
  • Dockerfile
  • README.md

分行:

标签:

  • V1.0
  • V1.1
  • V2.0
  • V2.1

现在的问题是:如果我将所有标签放在Autobuild上,那么它不可再现,哪个README.md将显示在存储库描述中.

有没有诀窍,还是有API可以设置描述?

我希望始终显示我的master/README.md的最新提交!

Von*_*onC 11

DockerHub文档中提到:

构建过程README.md在与您的目录相同的目录Dockerfile中查找.

(见例tombatossals/dockerhub/nodejs)

如果README.md存储库中有文件,则会在存储库中将其用作完整描述.

如果在构建后更改完整描述,则下次自动构建运行时将覆盖该描述.
要进行更改,请修改Git存储库中的README.md.

注意,正如Andy 在这里提到的,这不适用于手动构建.

对于手动构建(您推送自己的图像),Docker Hub不会窥视您的图像,也无法了解您的自述文件.
您需要手动将Readme文本添加到该Information部分.


OP问:

是否有API调用,我可以设置回购的描述?

不是我所知道的(Docker Hub API在docker 1.8+中已被弃用)


问题467报告了同样的不确定性:

有时,自动构建系统仍将使用顶级README文件.

发布402报告:

"每隔一段时间,完整描述和Dockerfile页面中的内容将来自旧版本标签."

然后:

"拉取的规范是否已README更改?它现在README从源存储库而不是Dockerfile指定的目录中获取顶级;考虑到常见的用例是Dockerfiles的存储库,这完全弄乱了文档."

问题300证实:

我注意到两个明显的失败:

  • a)README.md在Dockerfile所在的子目录中不受尊重
  • b)即使README.md是在repoository的顶层(以及Dockerfile),"有时"它没有被读入并且描述留空; 甚至在强制推送到底层存储库之后.


pet*_*ans 5

dockerhub-description GitHub Action 可以从 README.md 文件更新 Docker Hub 描述。

    - name: Docker Hub Description
      uses: peter-evans/dockerhub-description@v2.1.0
      env:
        DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
        DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
        DOCKERHUB_REPOSITORY: peterevans/dockerhub-description
Run Code Online (Sandbox Code Playgroud)

您还可以独立于其他 CI 工具中的 GitHub Actions 使用它。

    docker run -v $PWD:/workspace \
      -e DOCKERHUB_USERNAME='user1' \
      -e DOCKERHUB_PASSWORD='xxxxx' \
      -e DOCKERHUB_REPOSITORY='my-docker-image' \
      -e README_FILEPATH='/workspace/README.md' \
      peterevans/dockerhub-description:2.1.0
Run Code Online (Sandbox Code Playgroud)