diff --git a/README.md b/README.md
index 3f07f15..a4da3d3 100644
--- a/README.md
+++ b/README.md
@@ -181,6 +181,7 @@ See [Examples](examples.md) for a list of `actions/cache` implementations for us
 * [Clojure - Lein Deps](./examples.md#clojure---lein-deps)
 * [D - DUB](./examples.md#d---dub)
 * [Deno](./examples.md#deno)
+* [Docker](./examples.md#docker)
 * [Elixir - Mix](./examples.md#elixir---mix)
 * [Go - Modules](./examples.md#go---modules)
 * [Haskell - Cabal](./examples.md#haskell---cabal)
diff --git a/examples.md b/examples.md
index ac78be2..c5db2b4 100644
--- a/examples.md
+++ b/examples.md
@@ -10,6 +10,7 @@
   - [Linux](#linux)
   - [macOS](#macos)
   - [Windows](#windows-1)
+- [Docker](#docker)
 - [Elixir - Mix](#elixir---mix)
 - [Erlang - Rebar3](#erlang--rebar3)
 - [Go - Modules](#go---modules)
@@ -176,6 +177,40 @@ steps:
     key: ${{ runner.os }}-deno-${{ hashFiles('**/deps.ts') }}
 ```
 
+## Docker
+
+```yaml
+- name: Cache Docker layers
+  uses: actions/cache@v3
+  with:
+    path: /tmp/.buildx-cache
+    key: my-project-${{ matrix.arch }}-buildx-${{ hashFiles('my-directory/Dockerfile') }}
+    restore-keys: |
+      my-project-${{ matrix.arch }}-buildx-
+- name: Set up QEMU
+  uses: docker/setup-qemu-action@v3
+- name: Set up Docker Buildx
+  uses: docker/setup-buildx-action@v3
+- name: Build and Test
+  uses: docker/build-push-action@v3
+  with:
+    push: false
+    context: .
+    platforms: ${{ matrix.arch }}
+    file: my-directory/Dockerfile
+    tags: my-username/my-image:latest
+    cache-from: type=local,src=/tmp/.buildx-cache
+    cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
+-
+  # Temporary workaround
+  # https://github.com/docker/build-push-action/issues/252
+  # https://github.com/moby/buildkit/issues/1896
+  name: Move cache
+  run: |
+    rm -rf /tmp/.buildx-cache
+    mv /tmp/.buildx-cache-new /tmp/.buildx-cache
+```
+
 ## Elixir - Mix
 
 ```yaml