创建引用Github软件包上的映像的Github Docker容器操作

时间:2020-02-03 22:33:01

标签: docker github github-actions

是否可以从存储在Github软件包中的Docker映像创建github动作?

action.yml

runs:
  using: 'docker'
  image: 'docker://docker.pkg.github.com/<you>/<your-repo>/<image>:<version>'

目前似乎无法提供docker基本身份验证凭据。

错误消息:

  Pull down action image '[...] '
  /usr/bin/docker pull [...] 
Error response from daemon: Get https://[...]: no basic auth credentials
  ##[warning]Docker pull failed with exit code 1, back off 9.515 seconds before retry.
  /usr/bin/docker pull [...] 
Error response from daemon: Get [...]: no basic auth credentials
  ##[warning]Docker pull failed with exit code 1, back off 2.011 seconds before retry.
  /usr/bin/docker pull [...] 
Error response from daemon: Get [...]: no basic auth credentials
##[error]Docker pull failed with exit code 1

1 个答案:

答案 0 :(得分:1)

很抱歉延迟!

我已经获得了GitHub的支持,显然我要在这里做的是不可能的,但很快就会实现。我加入了Github开发者支持小组的回复:

感谢您回信澄清!对于工作流文件中的image属性,无法以与缓存容器映像或Docker Hub上托管的映像相同的方式指定GitHub Packages中托管的Docker映像。在给出此示例工作流程文件片段的情况下,无法在工作流程文件中指定授权凭证

那是因为当前需要从GitHub Packages安装软件包时需要身份验证。无论是从您的CI还是您的本地计算机,从Github软件包中获取艺术品时,都需要进行身份验证。公共存储库仍然如此。

最后

作为一种解决方法,您可以使用GitHub Actions将您的程序包发布到Docker Hub和GitHub程序包。如果要在GitHub Actions工作流中使用该程序包(例如用于服务)或在容器中运行工作流,则可以引用其Docker Hub URL。

例如,我已将这些建议应用于GitHub Action schema-validation