/bin/sh not available via kaniko build

719 views
Skip to first unread message

Oscar Rodriguez

unread,
Aug 10, 2021, 12:37:31 PM8/10/21
to kaniko-users
I have a use case to include /bin/sh in a scratch image due to an external project.

Dockerfile
FROM alpine:3.12 as builder

FROM scratch
WORKDIR /go/src/app
COPY --from=builder /bin/sh /bin/sh
COPY --from=builder /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
USER 65532

CMD /go/src/app/migrate.linux-amd64 -path /go/src/app/migrations -database "$DB_CONN" -verbose up

Kaniko build command (running locally and mounting cwd)

docker run --rm -it -v $(pwd):/tmp kaniko/executor:debug2  --use-new-run --snapshotMode=redo --context /tmp --dockerfile /tmp/build/Dockerfile.migrations --destination docker.io/library/kaniko:local-kaniko --no-push --tarPath=/tmp/migrate.tar

docker load -i migrate.tar
docker run --rm -it kaniko:local-kaniko /bin/sh
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/bin/sh": stat /bin/sh: no such file or directory: unknown.

docker build -t kaniko:docker-build -f build/Dockerfile.migrations .

docker run --rm -it kaniko:docker-build /bin/sh
/go/src/app $ %   

Any insight into this behavior is greatly appreciated.

Reply all
Reply to author
Forward
0 new messages