1
0
Fork 0
mirror of https://code.forgejo.org/actions/cache.git synced 2025-04-19 19:46:17 +02:00

Add docker layer caching example

This commit is contained in:
Peter Evans 2019-11-02 23:06:21 +09:00
parent ecf6eea708
commit a90d1a0f71

View file

@ -1,6 +1,7 @@
# Examples
- [C# - Nuget](#c---nuget)
- [Docker](#docker)
- [Elixir - Mix](#elixir---mix)
- [Go - Modules](#go---modules)
- [Java - Gradle](#java---gradle)
@ -157,3 +158,29 @@ Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/packa
restore-keys: |
${{ runner.os }}-pods-
```
## Docker
```yaml
- uses: actions/cache@preview
id: cache
with:
path: docker-cache
key: ${{ runner.os }}-docker-${{ hashFiles('**/Dockerfile') }}
restore-keys: |
${{ runner.os }}-docker-
- name: Load cached Docker layers
run: |
if [ -d "docker-cache" ]; then
cat docker-cache/x* > my-image.tar
docker load < my-image.tar
rm -fr docker-cache
fi
- name: Build image
if: steps.cache.outputs.cache-hit != 'true'
run: |
docker build --cache-from my-image -t my-image .
docker save my-image > my-image.tar
mkdir docker-cache
split -b 100m my-image.tar docker-cache/x
```