如何将带有 README 文件的 docker 图像推送到 docker 集线器?

How to push a docker image with README file to docker hub?

我正在尝试将 docker 图像推送到我在 docker 中心上的私人仓库。但是,我确实看到 Docker 集线器上有一个 "Information" 部分,我想用关于我的图像的有用信息更新它。我想知道我是否可以推送 README.md 文件并且 Docker Hub 可以解析此文件并用此更新 "Information" 部分。我不确定是否应该在我的图片中嵌入 README.md 才能使它起作用?

Docker Hub 将尝试解析您的 Readme.md 当且仅当您正在执行“Automated Build”。对于手动构建(您推送自己的图像),Docker Hub 不会查看您的图像源代码存储库,也无法了解您的自述文件。您需要手动将自述文件文本添加到 信息 部分

dockerhub-description GitHub 操作可以从 README.md 文件更新 Docker 集线器描述。

    - name: Docker Hub Description
      uses: peter-evans/dockerhub-description@v2
      env:
        DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
        DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
        DOCKERHUB_REPOSITORY: peterevans/dockerhub-description

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

    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

docker-pushrm 是一个 Docker CLI 插件,它添加了一个新的 docker pushrm(说:push readme)命令到 Docker.安装后,您可以将 README 推送到 Docker Hub、Quay 或 Harbor:

$ ls
README.md
$ docker pushrm my-user/my-repo

它使用来自 Docker 凭据存储的登录信息,因此它“仅适用于”您已经登录的注册表。我以交互方式和 CI 使用它。还有一个基于它的github action