Use containerd to run containers

Because we are not yet using the image store, this requires a
patched `ctr` that can run a specified rootfs rather than an
image.

We will switch to the image store later, but this requires
extensive build changes.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack
2017-04-14 15:35:29 -05:00
parent 5a49505915
commit e79e3a38ad
4 changed files with 7 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
FROM golang:1.7-alpine3.5
FROM golang:1.8-alpine
RUN \
apk update && apk upgrade -a && \
apk add --no-cache \
@@ -9,10 +9,10 @@ RUN \
linux-headers \
make \
&& true
ENV CONTAINERD_COMMIT=e5c8c5634a1fa82da41c1b707f8a9889bcfca248
ENV CONTAINERD_COMMIT=ffe684b017252262431e157741406d4e1fb22831
RUN mkdir -p $GOPATH/src/github.com/containerd && \
cd $GOPATH/src/github.com/containerd && \
git clone https://github.com/containerd/containerd.git
git clone https://github.com/justincormack/containerd.git
WORKDIR $GOPATH/src/github.com/containerd/containerd
RUN git checkout $CONTAINERD_COMMIT
RUN make binaries GO_GCFLAGS="-buildmode pie --ldflags '-extldflags \"-fno-PIC -static\"'"

View File

@@ -2,7 +2,7 @@ SHA_IMAGE=alpine:3.5@sha256:dfbd4a3a8ebca874ebd2474f044a0b33600d4523d03b0df76e5c
.PHONY: tag push
BASE=golang:1.7-alpine3.5
BASE=golang:1.8-alpine
IMAGE=containerd
default: push

View File

@@ -15,7 +15,6 @@ then
fi
# start service containers
# temporarily using runc not containerd
if [ -d /containers/services ]
then
@@ -25,7 +24,7 @@ then
/bin/mount --bind "$f/rootfs" "$f/rootfs"
mount -o remount,rw "$f/rootfs"
log="/var/log/$base.log"
/sbin/start-stop-daemon --start --pidfile /run/$base.pid --exec /usr/bin/runc -- run --bundle "$f" --pid-file /run/$base.pid "$(basename $f)" </dev/null 2>$log >$log &
ctr run --runtime-config "$f/config.json" --rootfs "$f/rootfs" --id "$(basename $f)" </dev/null 2>$log >$log &
printf " - $base\n"
done
fi