You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To be able to use Podman as a valid alternative to Docker, with no warnings
Actual behaviour
Currently, it is possible to successfully use Podman to build container images via setting this in build.sbt:
dockerExecCommand := List("podman")
However, you'll get the following warning:
[warn] [1] sbt-native-packager wasn't able to identify the docker version. Some features may not be enabled
[warn] sbt-native packager tries to parse the `docker version` output. This can fail if
[warn]
[warn] - the output has changed:
[warn] $ docker version --format '{{.Server.APIVersion}}'
[warn]
[warn] - no `docker` executable is available
[warn] $ which docker
[warn]
[warn] - you have not the required privileges to run `docker`
[warn]
[warn] You can display the parsed docker version in the sbt console with:
[warn]
[warn] sbt:your-project> show dockerApiVersion
[warn]
[warn] As a last resort you could hard code the docker version, but it's not recommended!!
[warn]
[warn] import com.typesafe.sbt.packager.docker.DockerApiVersion
[warn] dockerApiVersion := Some(DockerApiVersion(1, 40))
[warn]
As far as I could get, this is due the fact that the regex used to validate Docker Api version expects versions strings like major.minor, but Podman uses major.minor.patch version style. A possible fix would be to change the regex to acknowledge the difference, but that would render Docker version validations useless for Podman (e.g. to check for multistage or chown-flag capabilities).
So, I was wondering if the community would be interested in having a better support for Podman, that at least:
Makes it easy and idiomatic to configure Podman for building (changing dockerExecCommand variable seems a bit hackish)
Correctly validates Podman version and its related multistage / chown-flag capabilities (not sure if these validations are needed for Podman).
Information
What sbt-native-packager are you using: 1.9.16
What sbt version: 1.9.2
What is your build system: MacOS Ventura 13.2.1
What package are you building: Docker
What version has your build tool: using Podman 4.6.1
What is your target system (e.g. Ubuntu 16.04, CentOS 7): using a JRE 11 alpine image as base
The text was updated successfully, but these errors were encountered:
Expected behaviour
To be able to use Podman as a valid alternative to Docker, with no warnings
Actual behaviour
Currently, it is possible to successfully use Podman to build container images via setting this in
build.sbt
:However, you'll get the following warning:
As far as I could get, this is due the fact that the regex used to validate Docker Api version expects versions strings like
major.minor
, but Podman usesmajor.minor.patch
version style. A possible fix would be to change the regex to acknowledge the difference, but that would render Docker version validations useless for Podman (e.g. to check for multistage or chown-flag capabilities).So, I was wondering if the community would be interested in having a better support for Podman, that at least:
dockerExecCommand
variable seems a bit hackish)Information
The text was updated successfully, but these errors were encountered: