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:
parent
ecf6eea708
commit
a90d1a0f71
1 changed files with 27 additions and 0 deletions
27
examples.md
27
examples.md
|
@ -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
|
||||
```
|
||||
|
|
Loading…
Add table
Reference in a new issue