devcontainers / devcontainers/cli

Push in quay.io/buildah/stable

Offen
#851 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug podman
Vorherrschende Sprache
TypeScript
Sterne
3k
Forks
457
Ø Merge
13 Std. 17 Min.
Gemergte PRs (30 T.)
6

Beschreibung

Hey! I'm trying to build and push (to gitlab registry) my project in `quay.io/buildah/stable` build container.
The build works fine when i do:
`devcontainer build --docker-path buildah --workspace-folder . --image-name $FQ_IMAGE_NAME`

But it fails when I add `--push true` as:
`devcontainer build --docker-path buildah --workspace-folder . --push true --image-name $FQ_IMAGE_NAME`

with this error:
```
[2024-06-28T09:56:10.009Z] @devcontainers/cli 0.65.0. Node.js v20.12.2. linux 6.6.33-0-virt x64.
Error: --platform or --push require BuildKit enabled.
at mtA (/usr/local/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:466:363)
at async Pm (/usr/local/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:465:1856)
at async FrA (/usr/local/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:662:24692)
at async yrA (/usr/local/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:662:22435)
{"outcome":"error","message":"--platform or --push require BuildKit enabled.","description":"--platform or --push require BuildKit enabled."}
```

My CI looks like:
```yaml
container build and push:
stage: container-build
image: quay.io/buildah/stable
variables:
# Use vfs with buildah. Docker offers overlayfs as a default, but Buildah
# cannot stack overlayfs on top of another overlayfs filesystem.
STORAGE_DRIVER: vfs
# Write all image metadata in the docker format, not the standard OCI format.
# Newer versions of docker can handle the OCI format, but older versions, like
# the one shipped with Fedora 30, cannot handle the format.
BUILDAH_FORMAT: docker
BUILDAH_ISOLATION: chroot
before_script:
# GitLab container registry credentials taken from the
# [predefined CI/CD variables](../variables/index.md#predefined-cicd-variables)
# to authenticate to the registry.
- echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
# install devcontainer
- dnf install -y nodejs npm python3 make g++
- npm install -g @devcontainers/cli
script:
- devcontainer build --docker-path buildah --workspace-folder . --push true --image-name $FQ_IMAGE_NAME
```

Does devcontainer only support docker when `--push`? Or is there some other way to get around this issue?
For now I'll try to use `podman` and report back.

Thank you for your work btw.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start with the devcontainer build command path that handles --docker-path, --push, and BuildKit validation, then reproduce the reported command in quay.io/buildah/stable. Determine whether pushing with Buildah is supported and document or implement the expected behavior; done when the reported command works or the limitation is clearly surfaced and tested.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, typescript
Bereich
cli, devops
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.