Jos*_*hua 18 continuous-integration caching docker github-actions buildx
在 Github Actions 上,当我将新构建的 Docker 镜像放在缓存中时,我希望避免从注册表中提取该镜像(这是我工作中最慢的部分)
我的工作流程是这样的
根据Docker Build Push Action 文档,设置cache-to和cache-from指向gha有助于加快步骤 1 的速度。
然而,当我跑步时docker run ghcr.io/org/image:new-tag command,它总是以
Unable to find image 'ghcr.io/org/image:new-tag' locally
new-tag: Pulling from org/image
...
5402d6c1eb0a: Pulling fs layer
...
Run Code Online (Sandbox Code Playgroud)
这大约需要 50 秒(总作业时间约为 75 秒)。
当存在包含此信息的缓存时,这似乎是不必要的,但是我不知道如何告诉我的docker run命令如何使用此缓存,因为据我所知,--cache-from=ghadocker run 没有等效的选项。
当我在 Github Actions 上调用 docker run 时,如何告诉 docker 在 gha 缓存中查找图像?
小智 4
我们之前也遇到过类似的情况,但最近我们发现了一个 github-actions,它实际上有助于缓存后续运行的 docker-layers 和图像。
我相信您的问题也可以用它来解决。这是 gh-action 的链接https://github.com/satackey/action-docker-layer-caching。
配置示例 您可以在 docker run 步骤上方添加以下行,以确保在 gha 中完成缓存
- uses: satackey/action-docker-layer-caching@v0.0.11
continue-on-error: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2758 次 |
| 最近记录: |