Move containerd clone to tools/alpine

As discussed before, as we use this in three places, cloning in
base makes more sense.

Update base image.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack 2017-08-21 15:16:09 +01:00
parent 92d31d733d
commit 90f905a799
9 changed files with 29 additions and 39 deletions

View File

@ -1,4 +1,4 @@
FROM linuxkit/alpine:6ed3b299f5243acb6459b4993549c5045e4ad7f4 as alpine
FROM linuxkit/alpine:a120ad6aead3fe583eaa20e9b75a05ac1b3487da as alpine
RUN \
apk add \
btrfs-progs-dev \
@ -10,13 +10,8 @@ RUN \
make \
tzdata \
&& true
ENV GOPATH=/go PATH=$PATH:/go/bin
# CONTAINERD_REPO and CONTAINERD_COMMIT are defined in linuxkit/alpine
RUN mkdir -p $GOPATH/src/github.com/containerd && \
cd $GOPATH/src/github.com/containerd && \
git clone $CONTAINERD_REPO
WORKDIR $GOPATH/src/github.com/containerd/containerd
RUN git checkout $CONTAINERD_COMMIT
RUN make binaries EXTRA_FLAGS="-buildmode pie" EXTRA_LDFLAGS="-extldflags \\\"-fno-PIC -static\\\""
RUN cp bin/containerd bin/ctr bin/containerd-shim /usr/bin/

View File

@ -1,5 +1,4 @@
IMAGE=containerd
NETWORK=1
DEPS=$(wildcard cmd/service/*.go) etc/containerd/config.toml
include ../package.mk

View File

@ -1,4 +1,4 @@
FROM linuxkit/alpine:0fd732eb9e99c4db0953ae8de23d95de340ab847 AS build
FROM linuxkit/alpine:a120ad6aead3fe583eaa20e9b75a05ac1b3487da AS build
RUN apk add --no-cache --initdb alpine-baselayout make gcc musl-dev git linux-headers
ADD usermode-helper.c ./
@ -10,19 +10,10 @@ ENV GOPATH=/go PATH=$PATH:/go/bin
COPY cmd /go/src/cmd
RUN go-compile.sh /go/src/cmd/init
# checkout containerd for vendoring
ENV GOPATH=/go PATH=$PATH:/go/bin
# CONTAINERD_REPO and CONTAINERD_COMMIT are defined in linuxkit/alpine
RUN mkdir -p $GOPATH/src/github.com/containerd && \
cd $GOPATH/src/github.com/containerd && \
git clone $CONTAINERD_REPO
WORKDIR $GOPATH/src/github.com/containerd/containerd
RUN git checkout $CONTAINERD_COMMIT
RUN cd /go/src/cmd/service && ./skanky-vendor.sh $GOPATH/src/github.com/containerd/containerd
RUN go-compile.sh /go/src/cmd/service
FROM linuxkit/alpine:6ed3b299f5243acb6459b4993549c5045e4ad7f4 AS mirror
FROM linuxkit/alpine:a120ad6aead3fe583eaa20e9b75a05ac1b3487da 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

View File

@ -1,5 +1,4 @@
IMAGE=init
NETWORK=1
DEPS=usermode-helper.c $(wildcard etc/*) $(wildcard etc/init.d/*) $(shell find cmd -type f)
include ../package.mk

View File

@ -1,4 +1,4 @@
FROM linuxkit/alpine:6ed3b299f5243acb6459b4993549c5045e4ad7f4 AS mirror
FROM linuxkit/alpine:a120ad6aead3fe583eaa20e9b75a05ac1b3487da AS mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
# btrfs-progfs is required for btrfs test (mkfs.btrfs)
# util-linux is required for btrfs test (losetup)
@ -21,17 +21,9 @@ RUN apk add --no-cache --initdb -p /out \
RUN rm -rf /out/etc/apk /out/lib/apk /out/var/cache
RUN cp /out/usr/share/zoneinfo/UTC /out/etc/localtime
RUN apk add git
ENV GOPATH=/out/go
RUN mkdir -p $GOPATH/src/github.com/containerd && \
cd $GOPATH/src/github.com/containerd && \
git clone https://github.com/containerd/containerd.git
WORKDIR $GOPATH/src/github.com/containerd/containerd
# CONTAINERD_COMMIT is defined in linuxkit/alpine
RUN git checkout $CONTAINERD_COMMIT
FROM scratch
COPY --from=mirror /out/ /
COPY --from=mirror /go/src/github.com/containerd/containerd /go/src/github.com/containerd/containerd/
ENV GOPATH=/go
WORKDIR $GOPATH/src/github.com/containerd/containerd
ADD run.sh ./run.sh

View File

@ -1,5 +1,4 @@
IMAGE=test-containerd
DEPS=run.sh
NETWORK=1
include ../../../pkg/package.mk

View File

@ -40,6 +40,17 @@ RUN go get -u github.com/golang/lint/golint
RUN go get -u github.com/gordonklaus/ineffassign
RUN go get -u github.com/LK4D4/vndr
# checkout containerd
# Update `FROM` in `pkg/containerd/Dockerfile`, `pkg/init/Dockerfile` and
# `test/pkg/containerd/Dockerfile` when changing this.
ENV CONTAINERD_REPO=https://github.com/containerd/containerd.git
ENV CONTAINERD_COMMIT=v1.0.0-alpha4
RUN mkdir -p $GOPATH/src/github.com/containerd && \
cd $GOPATH/src/github.com/containerd && \
git clone https://github.com/containerd/containerd.git && \
cd $GOPATH/src/github.com/containerd/containerd && \
git checkout $CONTAINERD_COMMIT
FROM $BASE
COPY --from=mirror /etc/apk/repositories /etc/apk/repositories
@ -48,10 +59,8 @@ COPY --from=mirror /etc/apk/keys /etc/apk/keys/
COPY --from=mirror /mirror /mirror/
COPY --from=mirror /go/bin /go/bin/
COPY --from=mirror /Dockerfile /Dockerfile
COPY --from=mirror /go/src/github.com/containerd/containerd /go/src/github.com/containerd/containerd/
RUN apk update && apk upgrade -a
# Update `FROM` in both `pkg/containerd/Dockerfile` and
# `test/pkg/containerd/Dockerfile` when changing this.
ENV CONTAINERD_REPO=https://github.com/containerd/containerd.git
ENV CONTAINERD_COMMIT=v1.0.0-alpha4
ENV GOPATH=/go PATH=$PATH:/go/bin

View File

@ -1,4 +1,4 @@
# linuxkit/alpine:c327d338176ccc28a0d51ef145040463d13975dd-arm64
# linuxkit/alpine:d05028a6446eb1144f73dae6ae87167b956005a7-arm64
# automatically generated list of installed packages
abuild-3.0.0_rc2-r8
alpine-baselayout-3.0.4-r0
@ -38,6 +38,7 @@ dosfstools-4.1-r1
e2fsprogs-1.43.4-r0
e2fsprogs-extra-1.43.4-r0
e2fsprogs-libs-1.43.4-r0
ebtables-2.0.10.4-r2
elfutils-dev-0.168-r1
elfutils-libelf-0.168-r1
ethtool-4.10-r0
@ -90,6 +91,7 @@ libburn-1.4.6-r0
libbz2-1.0.6-r5
libc-dev-0.7.1-r0
libc-utils-0.7.1-r0
libc6-compat-1.1.16-r13
libcap-2.25-r1
libcap-ng-0.7.8-r0
libcap-ng-dev-0.7.8-r0
@ -178,7 +180,7 @@ opus-1.1.4-r0
p11-kit-0.23.2-r1
patch-2.7.5-r1
pax-utils-1.2.2-r0
pcre-8.40-r2
pcre-8.41-r0
perl-5.24.1-r2
pinentry-1.0.0-r0
pixman-0.34.0-r0
@ -202,6 +204,7 @@ sgdisk-1.0.1-r1
slang-2.3.1-r0
slang-dev-2.3.1-r0
snappy-1.1.4-r1
socat-1.7.3.2-r1
spice-server-0.13.3-r2
sqlite-libs-3.18.0-r0
squashfs-tools-4.3-r3

View File

@ -1,4 +1,4 @@
# linuxkit/alpine:0fd732eb9e99c4db0953ae8de23d95de340ab847-amd64
# linuxkit/alpine:a120ad6aead3fe583eaa20e9b75a05ac1b3487da-amd64
# automatically generated list of installed packages
abuild-3.0.0_rc2-r8
alpine-baselayout-3.0.4-r0
@ -39,6 +39,7 @@ dosfstools-4.1-r1
e2fsprogs-1.43.4-r0
e2fsprogs-extra-1.43.4-r0
e2fsprogs-libs-1.43.4-r0
ebtables-2.0.10.4-r2
elfutils-dev-0.168-r1
elfutils-libelf-0.168-r1
ethtool-4.10-r0
@ -94,6 +95,7 @@ libburn-1.4.6-r0
libbz2-1.0.6-r5
libc-dev-0.7.1-r0
libc-utils-0.7.1-r0
libc6-compat-1.1.16-r13
libcap-2.25-r1
libcap-ng-0.7.8-r0
libcap-ng-dev-0.7.8-r0
@ -187,7 +189,7 @@ ovmf-0.0.20161115-r1
p11-kit-0.23.2-r1
patch-2.7.5-r1
pax-utils-1.2.2-r0
pcre-8.40-r2
pcre-8.41-r0
perl-5.24.1-r2
pinentry-1.0.0-r0
pixman-0.34.0-r0
@ -210,6 +212,7 @@ sgdisk-1.0.1-r1
slang-2.3.1-r0
slang-dev-2.3.1-r0
snappy-1.1.4-r1
socat-1.7.3.2-r1
spice-server-0.13.3-r2
sqlite-libs-3.18.0-r0
squashfs-tools-4.3-r3