GitHub Action to set up (download and install) Docker CE. Works on Linux, macOS and Windows.
Warning
Does not work on macOS runners with ARM architecture (no nested virtualization):
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
Important
macOS runners hang with latest QEMU 9.1.0. You need to install QEMU 9.0.2 as a workaround:
name: ci
on:
push:
jobs:
docker:
runs-on: macos-13
steps:
-
# https://github.com/crazy-max/ghaction-setup-docker/issues/108
name: Install QEMU 9.0.2
uses: docker/actions-toolkit/.github/actions/macos-setup-qemu@19ca9ade20f5da695f76a10988d6532058575f82
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
More info: #108.
You can configure the Docker daemon
using the daemon-config
input. In the following example, we configure the
Docker daemon to enable debug and the containerd image store
feature:
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}
You can define custom limactl start
arguments
using the LIMA_START_ARGS
environment variable to customize the VM:
name: ci
on:
push:
jobs:
docker:
runs-on: macos-latest
steps:
-
name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
env:
LIMA_START_ARGS: --cpus 4 --memory 8
The following inputs can be used as step.with
keys
Name | Type | Default | Description |
---|---|---|---|
version |
String | latest |
Docker CE version (e.g., v24.0.6 ). |
channel |
String | stable |
Docker CE channel (e.g, stable , edge or test ). |
daemon-config |
String | Docker daemon JSON configuration | |
context |
String | setup-docker-action |
Docker context name. |
set-host |
Bool | false |
Set DOCKER_HOST environment variable to docker socket path. |
rootless |
Bool | false |
Start daemon in rootless mode |
The following outputs are available
Name | Type | Description |
---|---|---|
sock |
String | Docker socket path |
Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!
Thanks again for your support, it is much appreciated! 🙏
Apache-2.0. See LICENSE
for more details.