mirror of
https://github.com/GoogleContainerTools/kaniko
synced 2026-10-18 18:58:32 +02:00
fix(Dockerfile): use temporary busybox mount to create /kaniko directory (#2155)
* ci(minikube): always install latest binary and run as root
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* chore: remove docker unmask because minikube handles this
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* debug: view run folder and user ids
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* debug: log minikube if start fails
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* debug: start cri-docker before starting minikube cluster
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* Revert "debug: start cri-docker before starting minikube cluster"
This reverts commit 8923941358.
* debug: include verbose minikube output
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* fix(minikube): cri-dockerd move command
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* chore(minikube): copy minikube profile from root to user
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* fix(minikube): change dirs to $HOME directory in config.json
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* fix(minikube): enable registry on start
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* chore: run as non root
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* cleanup
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* docs(minikube-script): update
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* deploy: create kaniko.tar
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* deploy: create kaniko folder in dockerfiles with 777 permissions via mount
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* chore(Dockerfile): remove ARG
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* docs(Dockerfile): add comment to kaniko dir creation
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* fix(Dockerfile): mount whole busybox image
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* fix(Dockerfile): use musl busybox
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* chore(Dockerfile): use musl busybox in debug image
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
* typo
Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
This commit is contained in:
+10
-10
@@ -36,27 +36,27 @@ RUN mkdir -p /kaniko/.docker
|
||||
|
||||
COPY . .
|
||||
RUN \
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=cache,target=/go/pkg \
|
||||
make GOARCH=$TARGETARCH && \
|
||||
make GOARCH=$TARGETARCH out/warmer
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=cache,target=/go/pkg \
|
||||
make GOARCH=$TARGETARCH && \
|
||||
make GOARCH=$TARGETARCH out/warmer
|
||||
|
||||
# Generate latest ca-certificates
|
||||
FROM debian:bullseye-slim AS certs
|
||||
RUN apt update && apt install -y ca-certificates
|
||||
|
||||
# use musl busybox since it's staticly compiled on all platforms
|
||||
FROM busybox:musl as busybox
|
||||
FROM scratch
|
||||
# Create kaniko directory with world write permission to allow non root run
|
||||
RUN --mount=from=busybox,dst=/usr/ ["busybox", "sh", "-c", "mkdir -p /kaniko && chmod 777 /kaniko"]
|
||||
|
||||
COPY --from=0 /src/out/executor /kaniko/executor
|
||||
COPY --from=0 /src/out/warmer /kaniko/warmer
|
||||
COPY --from=0 /usr/local/bin/docker-credential-gcr /kaniko/docker-credential-gcr
|
||||
COPY --from=0 /usr/local/bin/docker-credential-ecr-login /kaniko/docker-credential-ecr-login
|
||||
COPY --from=0 /usr/local/bin/docker-credential-acr-env /kaniko/docker-credential-acr-env
|
||||
COPY --from=busybox:1.32.0 /bin /busybox
|
||||
# Since busybox needs some lib files which lie in /lib directory to run the executables on s390x,
|
||||
# the below COPY command is added to address "ld64.so.1 not found" issue. This extra copy action will not
|
||||
# happen on amd64 or arm64 platforms since /lib does not exist in amd64 or arm64 version of busybox container.
|
||||
# Similar issues could be found in https://github.com/multiarch/qemu-user-static/issues/110#issuecomment-652951564.
|
||||
COPY --from=busybox:1.32.0 /*lib /lib
|
||||
COPY --from=busybox /bin /busybox
|
||||
# Declare /busybox as a volume to get it automatically in the path to ignore
|
||||
VOLUME /busybox
|
||||
|
||||
|
||||
Reference in New Issue
Block a user