Skip to content

Warning

You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?

Docker Setup Docker

Actions
Set up Docker for use in GitHub Actions by downloading and installing a version of Docker CE
v3.4.0
Verified creator
Star (40)

Verified

GitHub has manually verified the creator of the action as an official partner organization. For more info see About badges in GitHub Marketplace.

GitHub release GitHub marketplace CI workflow Test workflow Codecov

About

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):

Screenshot


Usage

Quick start

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.

Daemon configuration

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
              }
            }

Define custom limactl start arguments (macOS)

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

Customizing

inputs

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.

outputs

The following outputs are available

Name Type Description
sock String Docker socket path

Contributing

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! 🙏

License

Apache-2.0. See LICENSE for more details.

Docker Setup Docker is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Set up Docker for use in GitHub Actions by downloading and installing a version of Docker CE
v3.4.0

Verified

GitHub has manually verified the creator of the action as an official partner organization. For more info see About badges in GitHub Marketplace.

Docker Setup Docker is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.