mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-12-25 02:13:43 +00:00
This adds support for a runtime configuration file that can do: - `mkdir` to make a directory at runtime, eg in `/var` or `/tmp`, to avoid workarounds - `interface` that can create network interfaces in a container or move them - `bindNS` that can bind mount namespaces of an `onboot` container to a file so a service can be started in that namespace. It merges the `service` and `onboot` tools (in `init`) to avoid duplication. This also saves some size for eg LCOW which did not use the `onboot` code in `runc`. Signed-off-by: Justin Cormack <justin.cormack@docker.com>
32 lines
972 B
Docker
32 lines
972 B
Docker
FROM linuxkit/alpine:6ed3b299f5243acb6459b4993549c5045e4ad7f4 as alpine
|
|
RUN \
|
|
apk add \
|
|
bash \
|
|
gcc \
|
|
git \
|
|
go \
|
|
libc-dev \
|
|
libseccomp-dev \
|
|
linux-headers \
|
|
make \
|
|
&& true
|
|
ENV GOPATH=/go PATH=$PATH:/go/bin
|
|
ENV RUNC_COMMIT=v1.0.0-rc4
|
|
RUN mkdir -p $GOPATH/src/github.com/opencontainers && \
|
|
cd $GOPATH/src/github.com/opencontainers && \
|
|
git clone https://github.com/opencontainers/runc.git
|
|
WORKDIR $GOPATH/src/github.com/opencontainers/runc
|
|
RUN git checkout $RUNC_COMMIT
|
|
RUN make static BUILDTAGS="seccomp" EXTRA_FLAGS="-buildmode pie" EXTRA_LDFLAGS="-extldflags \\\"-fno-PIC -static\\\""
|
|
RUN cp runc /usr/bin/
|
|
|
|
RUN mkdir -p /etc/init.d && ln -s /usr/bin/service /etc/init.d/010-onboot
|
|
RUN mkdir -p /etc/shutdown.d && ln -s /usr/bin/service /etc/shutdown.d/010-onshutdown
|
|
|
|
FROM scratch
|
|
WORKDIR /
|
|
ENTRYPOINT []
|
|
COPY --from=alpine /usr/bin/runc /usr/bin/
|
|
COPY --from=alpine /etc/init.d/ /etc/init.d/
|
|
COPY --from=alpine /etc/shutdown.d/ /etc/shutdown.d/
|