generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 108
Open
Description
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
- Docker API Compatibility Layer: Provide a Docker daemon-compatible API endpoint that translates Docker API calls to nerdctl/containerd operations
- Socket Proxy: Expose a Docker-compatible socket that forwards requests to the containerd runtime
- 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:
- Use
./gradlew jibBuildTarto build a tar archive - Load with
finch load < build/jib-image.tar - 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
Labels
No labels