Skip to content

Speed up docker compose builds inside GitHub Actions

Notifications You must be signed in to change notification settings

CyanoFresh/docker-compose-ga-cache-example

Repository files navigation

Docker Compose + GitHub Actions + Layers Cache

Decrease build time of docker compose inside GitHub Actions using layers cache.

2x faster builds:

Image of Build time

Description

  • .github/workflows/not-cached.yml uses ./docker-compose.ci.not-cached.yml. Push to ghcr.io using the :not-cached tag to avoid collisions
  • .github/workflows/cached.yml uses ./docker-compose.yml. Caching achieved by:
    • ENV variables DOCKER_BUILDKIT and COMPOSE_DOCKER_CLI_BUILD
    • docker/setup-buildx-action
    • --build-arg BUILDKIT_INLINE_CACHE=1
    • cache_from inside docker-compose file:
      build:
        context: ./app1
        cache_from:
        - ghcr.io/cyanofresh/docker-compose-ga-cache-example_app1