【问题标题】:How to push a docker image with README file to docker hub?如何将带有 README 文件的 docker 映像推送到 docker hub?
【发布时间】:2015-05-21 23:00:10
【问题描述】:

我正在尝试将 docker 映像推送到我在 docker hub 上的私人仓库。但是,我确实看到 Docker Hub 上有一个“信息”部分,我想用关于我的图像的有用信息来更新它。我想知道我是否可以推送一个 README.md 文件,并且 Docker Hub 可以解析这个文件并用这个更新“信息”部分。我不确定是否应该将 README.md 嵌入到我的图像中以使其正常工作?

【问题讨论】:

标签: docker dockerhub readme


【解决方案1】:

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

【讨论】:

【解决方案2】:

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

    - 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 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

【讨论】:

  • 将 docker 帐户密码暴露给 3rd 方容器是否安全?是否有审计表明它没有公开您的凭据?
  • @AntonKrug 与所有第三方操作一样,分叉操作、检查代码并在工作流中使用分叉是一种很好的做法。该操作是开源的,因此您可以检查它是如何工作的。
  • 我不是说你的是,但总体上盲目依赖各种容器而不检查是不好的,仅仅因为它是开源的并不能保证它的安全性。是的,使用特定的验证标签还不错。我认为许多 Web 浏览器插件都发生过这种情况,这些插件是 OSS 项目更改了所有者,并且随着新的更新版本出现了恶意软件。
  • @AntonKrug 该操作本身不使用容器。因此,如果您分叉代码并使用您的分叉,则无法引入恶意软件。该操作有一个 Docker 版本,可以在 GitHub Actions 之外运行。如果您使用已发布的容器,这确实需要对所有者的信任。当然,您可以构建并发布您自己的副本。
【解决方案3】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多