【问题标题】:Is there anyway to use github / gitlab for downloading the docker image?反正有没有使用 github / gitlab 下载 docker 镜像?
【发布时间】:2021-09-07 17:14:59
【问题描述】:

由于 Docker Hub 只允许 1 个私有 repo,请问有没有什么方法可以使用 Github 或 Gitlab 等来下载镜像?例如:

FROM git@github.com/username/repo
...
...
...

【问题讨论】:

标签: docker github gitlab bitbucket


【解决方案1】:

使用gitlab.com 上的帐户非常容易。 GitLab 提供了一个链接到项目的Docker registry,你可以拥有无​​限的私人项目:

  • 创建项目my-docker-project
  • 转到 Package and Registries > Container registries,您应该会看到一些用于访问您的注册表的命令
  • 使用如下命令将您的计算机连接到此注册表:
    # Will prompt for login/pass
    docker login registry.gitlab.com
    
    • 您需要一个access token or deploy tokenread_registrywrite_registry 范围。您可以通过您的个人资料Preferences > Access token 生成一个。 Login 是提供的秘密令牌的令牌名称和密码。
  • 您现在可以使用以下命令推送 Docker 映像:
    # Push an image 
    docker push registry.gitlab.com/YourUsernameOrGroup/my-docker-project
    
    # Push an image on a sub-path
    docker push registry.gitlab.com/YourUsernameOrGroup/my-docker-project/myimage
    

然后您可以通过引用其 URL 来在 Dockerfile 中使用该图像:

FROM registry.gitlab.com/YourUsernameOrGroup/my-docker-project

# ...

当然,您构建的机器必须使用上面的docker login 命令在相关的 GitLab 注册表上进行身份验证(或者项目必须是公共的)

【讨论】:

  • 很好的答案,一个问题我如何包含另一张图片中的图片......就像我们推送后我该如何使用它?
  • 谢谢 :) 当然,我编辑了一个例子。
【解决方案2】:

两者都有出色的包注册服务

对于 GitHub GPR 对于 GitLab GCR

两者都具有出色的功能,例如直接从 Dockerfile 中使用,如您所愿。

我有一个带有 node.js 的public example, you can check it in Github,它使用 GPR 来存储构建图像/包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-23
    • 2020-09-22
    • 2015-07-27
    • 1970-01-01
    • 2022-06-24
    • 2019-08-03
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多