Skip to content

gradlew bootBuildImage fails with Podman on macOS Sonoma #39830

Closed
@acisternino

Description

@acisternino

Problem

gradlew buildBootImage fails with permission denied when used on macOS Sonoma (14) with podman as a container engine.

Steps to reproduce

  1. Create a simple project on start.spring.io with the following characteristics:
    • Project: Gradle-kotlin
    • Language: Java
    • Spring Boot: 3.2.3
    • Packaging: Jar
    • Java: 21
    • Dependencies: Spring Web
  2. Unzip the project somewhere and cd into it
  3. Upgrade the Gradle Wrapper to v8.6
  4. Run the ./gradlew bootBuildImage command

Error

$ cd spring-podman

Using java version 21.0.2-librca in this shell.
$ ./gradlew bootBuildImage

> Task :bootBuildImage
Building image 'docker.io/library/spring-podman:0.0.1-SNAPSHOT'

 > Pulling builder image 'docker.io/paketobuildpacks/builder-jammy-base:latest' ..................................................
 > Pulled builder image 'docker.io/paketobuildpacks/builder-jammy-base@sha256:94593b2ad54362e1256da43631661d3dad936a177609a3d297fc638e87c6ee91'
 > Pulling run image 'docker.io/paketobuildpacks/run-jammy-base:latest' ..................................................
 > Pulled run image 'docker.io/paketobuildpacks/run-jammy-base@sha256:c2bc9ac828642aee2376a649ef5affd6912507c739247a40086bcae6d62a8b41'
 > Executing lifecycle version v0.18.5
 > Using build cache volume 'pack-cache-f19174dfe539.build'

 > Running creator
    [creator]     ===> ANALYZING
    [creator]     ERROR: failed to initialize analyzer: getting previous image: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info": dial unix /var/run/docker.sock: connect: permission denied

> Task :bootBuildImage FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':bootBuildImage'.
> Builder lifecycle 'creator' failed with status code 1

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 5s
5 actionable tasks: 5 executed

More info

Podman is configured to have docker compatibility activated. This is visible in Podman Desktop's dashboard.

These are the sockets and their properties:

$ ls -l /var/run/docker.sock
lrwxr-xr-x  1 root  daemon  75 Mar  4 09:05 /var/run/docker.sock@ -> /Users/andrea.cisternino/.local/share/containers/podman/machine/podman.sock

$ ls -l /Users/andrea.cisternino/.local/share/containers/podman/machine/podman.sock
lrwxr-xr-x@ 1 andrea.cisternino  staff  80 Feb  2 09:23 /Users/andrea.cisternino/.local/share/containers/podman/machine/podman.sock -> /Users/andrea.cisternino/.local/share/containers/podman/machine/qemu/podman.sock

$ ls -l /Users/andrea.cisternino/.local/share/containers/podman/machine/qemu/podman.sock
srw-------  1 andrea.cisternino  staff  0 Mar  4 09:05 /Users/andrea.cisternino/.local/share/containers/podman/machine/qemu/podman.sock

Versions:

  • Spring 3.2.3
  • macOS: Sonoma 14.3.1
  • Java 21.0.2 (BellSoft 21.0.2+14-LTS)
  • Gradle 8.6
  • Podman Desktop 1.7.1
$ podman version
Client:       Podman Engine
Version:      4.9.2
API Version:  4.9.2
Go Version:   go1.21.6
Git Commit:   f9a48ebcfa9a39144be0f86f4ba842752835f945
Built:        Sat Feb  3 00:31:39 2024
OS/Arch:      darwin/arm64

Server:       Podman Engine
Version:      4.8.3
API Version:  4.8.3
Go Version:   go1.21.5
Built:        Wed Jan  3 15:10:40 2024
OS/Arch:      linux/arm64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions