Some checks failed
Release / push (push) Has been cancelled
* conmon 2.2.1 * netavark 1.17.2 * passt 2026_01_20.386b5f5 * libfuse 3.18.1 * crun 1.26
32 lines
1.6 KiB
Plaintext
32 lines
1.6 KiB
Plaintext
# podman build base
|
|
FROM golang:1.25-alpine3.22 AS podmanbuildbase
|
|
RUN apk add --update --no-cache git make gcc pkgconf musl-dev \
|
|
btrfs-progs btrfs-progs-dev libassuan-dev lvm2-dev device-mapper \
|
|
glib-static libc-dev gpgme-dev protobuf-dev protobuf-c-dev \
|
|
libseccomp-dev libseccomp-static libselinux-dev ostree-dev openssl iptables \
|
|
bash go-md2man
|
|
|
|
# podman remote
|
|
FROM podmanbuildbase AS podman-remote
|
|
RUN apk add --update --no-cache curl
|
|
ARG PODMAN_VERSION=v5.8.0
|
|
RUN git clone -c advice.detachedHead=false --depth=1 --branch=${PODMAN_VERSION} https://github.com/containers/podman src/github.com/containers/podman
|
|
WORKDIR $GOPATH/src/github.com/containers/podman
|
|
RUN set -eux; \
|
|
make bin/podman-remote LDFLAGS_PODMAN="-s -w -extldflags '-static'"; \
|
|
mv bin/podman-remote /usr/local/bin/podman-remote; \
|
|
ln -s podman-remote /usr/local/bin/podman; \
|
|
ln -s podman-remote /usr/local/bin/docker; \
|
|
podman --help >/dev/null; \
|
|
[ "$(ldd /usr/local/bin/podman-remote | wc -l)" -eq 0 ] || (ldd /usr/local/bin/podman-remote; false)
|
|
# copying completions to /comp instead of /usr/local/share to avoid copying potentially other unwanted stuff in the final stage
|
|
RUN set -eux; \
|
|
install -Dm644 -t /comp/bash-completion/completions/ completions/bash/podman-remote; \
|
|
install -Dm644 -t /comp/zsh/site-functions/ completions/zsh/_podman-remote; \
|
|
install -Dm644 -t /comp/fish/vendor_completions.d/ completions/fish/podman-remote.fish
|
|
|
|
FROM alpine:3.22
|
|
COPY --from=podman-remote /usr/local/bin /usr/local/bin
|
|
COPY --from=podman-remote /comp /usr/local/share
|
|
RUN adduser -D podman-remote -h /podman -u 1000
|