mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 01:06:27 +00:00
* containerd to semver v2.0.3 Signed-off-by: Avi Deitcher <avi@deitcher.net> * containerd v2.0.3 plus commits to fix blkdiscard Signed-off-by: Avi Deitcher <avi@deitcher.net> * update containerd-dev dependencies Signed-off-by: Avi Deitcher <avi@deitcher.net> * updated pkg/init and pkg/containerd deps Signed-off-by: Avi Deitcher <avi@deitcher.net> --------- Signed-off-by: Avi Deitcher <avi@deitcher.net>
52 lines
1.8 KiB
Docker
52 lines
1.8 KiB
Docker
# Dockerfile to build linuxkit/init for linuxkit
|
|
FROM linuxkit/containerd-dev:fb4bf37a114ce1eb8a2c4ed3db91a50301805e2c AS containerd-dev
|
|
FROM linuxkit/alpine:35b33c6b03c40e51046c3b053dd131a68a26c37a AS build
|
|
RUN apk add --no-cache --initdb alpine-baselayout make gcc musl-dev git linux-headers
|
|
|
|
ADD usermode-helper.c ./
|
|
RUN LDFLAGS=-static CFLAGS=-Werror make usermode-helper
|
|
|
|
RUN apk add --no-cache go musl-dev
|
|
ENV GOPATH=/go PATH=$PATH:/go/bin
|
|
ARG GOPKGVERSION
|
|
ENV ldflags="-X main.Version=$GOPKGVERSION"
|
|
|
|
# Hack to work around an issue with go on arm64 requiring gcc
|
|
RUN [ $(uname -m) = aarch64 ] && apk add --no-cache gcc || true
|
|
|
|
COPY . /go/src
|
|
RUN go-compile.sh /go/src/cmd/init
|
|
RUN go-compile.sh /go/src/cmd/rc.init
|
|
# this makes sure that the multi stage build copies as a symlink
|
|
RUN mkdir /tmp/bin && cd /tmp/bin/ && cp /go/bin/rc.init . && ln -s rc.init rc.shutdown
|
|
|
|
COPY --from=containerd-dev /go/src/github.com/containerd/containerd $GOPATH/src/github.com/containerd/containerd
|
|
RUN cd /go/src/cmd/service && ./skanky-vendor.sh $GOPATH/src/github.com/containerd/containerd
|
|
RUN go-compile.sh /go/src/cmd/service
|
|
|
|
# volumes link to start
|
|
RUN mkdir -p /etc/init.d && ln -s /usr/bin/service /etc/init.d/005-volumes
|
|
|
|
FROM linuxkit/alpine:35b33c6b03c40e51046c3b053dd131a68a26c37a AS mirror
|
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
|
RUN apk add --no-cache --initdb -p /out alpine-baselayout busybox musl
|
|
|
|
# Add /etc/ssl/certs so it can be bind-mounted into metadata package
|
|
RUN mkdir -p /out/etc/ssl/certs
|
|
|
|
# Remove cache residuals. We retain apk for SBOM tools
|
|
RUN rm -rf /out/var/cache
|
|
|
|
|
|
FROM scratch
|
|
ENTRYPOINT []
|
|
CMD []
|
|
WORKDIR /
|
|
COPY --from=build /go/bin/init /
|
|
COPY --from=build /tmp/bin /bin/
|
|
COPY --from=build /go/bin/service /usr/bin/
|
|
COPY --from=build usermode-helper /sbin/
|
|
COPY --from=build /etc/init.d/ /etc/init.d/
|
|
COPY --from=mirror /out/ /
|
|
COPY etc etc/
|