我正在尝试缓存基本 docker 映像以缩短构建时间并减少网络开销。
这是我的操作 YAML 的一部分
- name: Cache Docker
uses: actions/cache@v4
with:
path: |
/var/lib/docker/image
key: docker-layers-${{ runner.os }}-pull-image
- name: Pull images
run: |
docker pull holism/panel
docker pull node:lts-bookworm-slim
如你所见,我使用 动作/缓存@v4 并提供缓存密钥。然后从 Docker Hub 拉取镜像。
但是,在后续操作运行中,我收到此消息 缓存泊坞窗 步骤:
找不到输入键的缓存:docker-layers-Linux-pull-image
这里可能出了什么问题?缓存docker镜像指定一个key还不够吗?
解决方案是使用 https://github.com/marketplace/actions/docker-cache
- name: Cache Docker images
uses: ScribeMD/[email protected]
with:
key: docker-cache
这使用
docker load
和 docker save
。
原来的问题是由于缺少文件权限造成的。这不容易解决。