Fix registry prompting when running with `podman`
Issue https://github.com/containers/podman/issues/23055 outlines that podman doesn't search the local repository for the dynamically built image. This could be fixed by prefixing the dynamically generated image with localhost/.
Container images should be fully qualified at all times, anyways (see e.g. this RedHat blog).
This should already be handled here: https://github.com/devcontainers/cli/blob/fbd8dfe91ec239bb1ca8d6a82bafe45887f0fab8/src/spec-node/containerFeatures.ts#L434
Maybe the check for Podman didn't work. What output do you get from podman -v?
What output do you get from podman -v?
I tried in both podman version 5.0.3 and podman version 5.3.1, and I have the issue described.
Could the issue be that it is checking for docker first? A lot of the time, podman is installed with a docker wrapper that lies about its identity.
❯ podman -v
podman version 5.4.1
❯ docker -v
docker version 5.4.1
Why not use docker version and podman version, which give a fuller picture of what is actually running?
docker version
# Client: Docker Engine - Community
# Version: 28.0.4
# API version: 1.41 (downgraded from 1.48)
# Go version: go1.23.7
# Git commit: b8034c0
# Built: Tue Mar 25 15:08:36 2025
# OS/Arch: linux/amd64
# Context: default
#
# Server: linux/amd64/fedora-41
# Podman Engine:
# Version: 5.4.2
# APIVersion: 5.4.2
# Arch: amd64
# BuildTime: 2025-04-02T00:00:00Z
# Experimental: false
# GitCommit: be85287fcf4590961614ee37be65eeb315e5d9ff
# GoVersion: go1.23.7
# KernelVersion: 6.13.10-200.fc41.x86_64
# MinAPIVersion: 4.0.0
# Os: linux
# Conmon:
# Version: conmon version 2.1.13, commit:
# Package: conmon-2.1.13-1.fc41.x86_64
# OCI Runtime (crun):
# Version: crun version 1.21
# commit: 10269840aa07fb7e6b7e1acff6198692d8ff5c88
# rundir: /run/user/1000/crun
# spec: 1.0.0
# +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
# Package: crun-1.21-1.fc41.x86_64
# Engine:
# Version: 5.4.2
# API version: 1.41 (minimum version 1.24)
# Go version: go1.23.7
# Git commit: be85287fcf4590961614ee37be65eeb315e5d9ff
# Built: Wed Apr 2 00:00:00 2025
# OS/Arch: linux/amd64
# Experimental: false
podman version
# Client: Podman Engine
# Version: 5.4.2
# API Version: 5.4.2
# Go Version: go1.23.7
# Git Commit: be85287fcf4590961614ee37be65eeb315e5d9ff
# Built: Wed Apr 2 00:00:00 2025
# Build Origin: Fedora Project
# OS/Arch: linux/amd64
Unfortunately, the json output for Podman doesn't have a Client.Platform object
podman version --format=json ; docker version --format=json) | jq '.Client.Platform.Name'
# null
# "Docker Engine - Community"