Skip to content

Support for Google Jib plugin - Docker daemon compatibility #1527

@noahxp

Description

@noahxp

Problem Statement

AWS Finch currently doesn't support Google Jib's jibDockerBuild task, which is a widely-used tool in the Java ecosystem for containerizing Spring Boot applications. This limits Finch's effectiveness as a complete Docker Desktop
replacement.

Current Behavior

When running ./gradlew jibDockerBuild with Finch:
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':jibDockerBuild'.
    Build to Docker daemon failed, perhaps you should make sure Docker is installed and you have correct privileges to run it

Technical Background

  • Google Jib uses the Docker Java API to communicate directly with the Docker daemon
  • Shell aliases (alias docker=finch) don't affect Java applications that use Docker client libraries
  • Jib expects a Docker daemon socket (typically /var/run/docker.sock) for local builds
  • Finch architecture uses containerd + nerdctl in a Lima VM, without exposing a Docker daemon socket

Environment

  • macOS: Darwin 24.6.0
  • Finch version: v1.10.3
  • Java: 21
  • Gradle: 8.14.1
  • Jib plugin: 3.4.5

Proposed Solutions

  1. Docker API Compatibility Layer: Provide a Docker daemon-compatible API endpoint that translates Docker API calls to nerdctl/containerd operations
  2. Socket Proxy: Expose a Docker-compatible socket that forwards requests to the containerd runtime
  3. Documentation: Provide clear guidance on alternative workflows (e.g., using jibBuildTar + finch load)

Use Case

This affects Java developers who:

  • Want to use Finch as a Docker Desktop replacement
  • Use Gradle/Maven with Jib for container builds
  • Need local container building for development workflows

Workaround

Currently, users must:

  1. Use ./gradlew jibBuildTar to build a tar archive
  2. Load with finch load < build/jib-image.tar
  3. Or push directly to a registry with ./gradlew jib

However, this disrupts the standard development workflow and CI/CD pipelines expecting jibDockerBuild to work.

Related

This issue affects other tools that depend on Docker daemon API, making it a broader compatibility concern for Java containerization workflows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions