使用GitHub Actions,我试图设置一个服务,运行我推送到www.example.com的特定映像(MySQL预加载了一个数据库),但是当它运行时,我得到这个错误:ghcr.io however when it runs I get this error:
Error response from daemon: denied
Warning: Docker pull failed with exit code 1, back off 8.976 seconds before retry.
工作流程:
services:
mysql:
image: ghcr.io/my-name/my-image
ports:
- 3306:3306
我看到它有以下功能:
/usr/bin/docker --config /home/runner/work/_temp/.docker_[...] login ghcr.io -u myusername --password-stdin
没有反馈,所以不确定是否已登录。然后:
/usr/bin/docker --config /home/runner/work/_temp/.docker[...] pull ghcr.io/my-name/my-image
然后我得到了那个错误。
我已经找到了很多使用GITHUB_TOKEN
的例子(见下文),但没有在services
部分中找到如何使用它的例子,所以我不确定这是否有效,或者语法是什么。那么它是否可以与services
一起使用呢?同时,我也给了定义GitHub操作的仓库对特定包的访问权限。
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
1条答案
按热度按时间ee7vknir1#
所以我终于发现了这个问题,在我的工作流程(从默认模板开始)我有:
然后我看到了这个
在工作流中设置权限
通过工作流和作业级别支持的新权限密钥,您可以指定希望令牌具有哪些权限。列表中缺少的任何权限都将设置为无。
这导致 packages 被设置为none。正在删除全部权限或添加:
修复了我遇到的这个问题,谢谢你的帮助。