【发布时间】:2022-01-16 18:46:21
【问题描述】:
我正在尝试使用带有 GitHub 操作的私有 docker 映像在 docker 容器内运行我的 npm 构建。
我的工作流yaml文件如下,
jobs:
build:
runs-on: Linux-self-hosted # This is our self hosted linux runner system.
container:
image: ubuntu-20.04-lts:latest # This is our private docker image.
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Npm Build
run: npm install
- name: Build Package
run: vsce package
GitHub 操作错误:-
启动作业容器 /usr/bin/docker pull ubuntu-20.04-lts:latest 来自守护进程的错误响应:ubuntu-20.04-lts 的拉取访问被拒绝, 存储库不存在或可能需要“docker login”:拒绝: 请求访问资源被拒绝警告:Docker pull 退出代码为 1 失败,在重试前退出 4.74 秒。
/usr/bin/docker pull ubuntu-20.04-lts:latest 来自的错误响应 守护进程:ubuntu-20.04-lts 的拉取访问被拒绝,存储库没有 存在或可能需要 'docker login': denied: 请求访问 资源被拒绝警告:Docker pull 失败,退出代码为 1, 在重试前退后 9.535 秒。 /usr/bin/docker 拉 ubuntu-20.04-lts:来自守护进程的最新错误响应:拉取访问 ubuntu-20.04-lts 被拒绝,存储库不存在或可能需要 'docker login':拒绝:请求访问资源被拒绝
错误:Docker 拉取失败,退出代码为 1
我在本地主机系统上有这个 ubuntu-20.04-lts:latest 私有 docker 映像。在动作构建期间它仍然失败并出现上述错误。
它看起来正在尝试连接 docker hub。如何解决此问题以使用我们的本地私有图像?
【问题讨论】:
-
不确定您是否可以在那里使用本地私有图像。您在注册表中也有该图像吗?如果是这样,请尝试在图像前加上注册表名称(您也可以提供用户名/密码,如下所述:github.blog/changelog/…)
-
当前图像存在于主机系统中。尚未被推送到我们的私人注册表。当然,我会将图像推送到我们的私有注册表并尝试。
-
@rethab,非常感谢。图像需要推送到私有注册表并发布,在
yaml中需要添加以下内容。credentials:username: monapassword: ${{ secrets.docker_hub_password}}示例帮助。 -
很好 :) 我已将其添加为答案,因此我们可以将此问题标记为已解决 :)
标签: github github-actions github-actions-self-hosted-runners