diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 09c0a355a..64890b672 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -35,8 +35,8 @@ COPY mkinitrd.sh /bin/ COPY kernel/kernel-source-info /etc/ ADD kernel/kernel-patches.tar /etc/kernel-patches -COPY packages/proxy/proxy /sbin/ -COPY packages/proxy/proxy /sbin/proxy-vsockd +COPY packages/proxy/slirp-proxy /usr/bin/ +COPY packages/proxy/slirp-proxy /sbin/proxy-vsockd COPY packages/proxy/etc /etc/ COPY packages/transfused/transfused /sbin/ COPY packages/transfused/etc /etc/ diff --git a/alpine/packages/diagnostics/diagnostics b/alpine/packages/diagnostics/diagnostics index d1e3c562b..a81acf6ff 100755 --- a/alpine/packages/diagnostics/diagnostics +++ b/alpine/packages/diagnostics/diagnostics @@ -1,5 +1,8 @@ #!/bin/sh +# now start very soon after docker, let containerd start +sleep 1 + printf '\n' DEV=$(ls /dev | grep '[sxv]da$') [ $? -eq 0 ] && printf "✓ Drive found: $DEV\n" || printf "✗ No drive found\n" @@ -14,8 +17,8 @@ then TAPVS=$(ps -eo args | grep '^/sbin/tap-vsockd') [ $? -eq 0 ] && printf "✓ Process tap-vsockd running\n" || printf "✗ No tap-vsockd process\n" fi -DOCKER=$(ps -eo args | grep '^/usr/bin/docker') -[ $? -eq 0 ] && printf "✓ Process docker running: $DOCKER\n" || printf "✗ No docker process\n" +DOCKER=$(ps -eo args | grep '^/usr/bin/dockerd') +[ $? -eq 0 ] && printf "✓ Process dockerd running: $DOCKER\n" || printf "✗ No dockerd process\n" CONTAINERD=$(ps -eo args | grep '^docker-containerd') [ $? -eq 0 ] && printf "✓ Process containerd running: $CONTAINERD\n" || printf "✗ No containerd process\n" DOCKERPS=$(docker ps 2>&1) diff --git a/alpine/packages/docker/Makefile b/alpine/packages/docker/Makefile index e18effef0..802a195be 100644 --- a/alpine/packages/docker/Makefile +++ b/alpine/packages/docker/Makefile @@ -1,4 +1,4 @@ -DOCKER_VERSION=1.11.2 +DOCKER_VERSION=1.12-dev ARCH?=x86_64 OS?=Linux @@ -8,10 +8,10 @@ bin: docker.git (cd docker.git && git fetch origin --tags && git checkout moby-$(DOCKER_VERSION)) BIND_DIR=$(shell pwd) make -C docker.git binary mkdir -p bin - cp docker.git/bundles/${DOCKER_VERSION}/binary/* bin/ - rm -f bin/*.md5 - rm -f bin/*.sha256 - rm -f bin/docker-${DOCKER_VERSION} + cp docker.git/bundles/latest/binary-daemon/{dockerd,docker-runc} bin/ + cp docker.git/bundles/latest/binary-daemon/{docker-containerd,docker-containerd-shim,docker-containerd-ctr} bin/ + cp docker.git/bundles/latest/binary-daemon/docker-proxy bin/ + cp docker.git/bundles/latest/binary-client/docker bin/ docker.git: git clone git://github.com/justincormack/docker.git docker.git diff --git a/alpine/packages/docker/etc/init.d/docker b/alpine/packages/docker/etc/init.d/docker index aef7f1f29..afea1233c 100755 --- a/alpine/packages/docker/etc/init.d/docker +++ b/alpine/packages/docker/etc/init.d/docker @@ -9,7 +9,7 @@ start() { ebegin "Starting Docker" - command="${DOCKER_BINARY:-/usr/bin/docker}" + command="${DOCKER_BINARY:-/usr/bin/dockerd}" pidfile="/run/docker.pid" @@ -31,7 +31,7 @@ start() NETWORK_MODE="$(mobyconfig get network | tr -d '[[:space:]]')" NATIVE_PORT_FORWARDING="$(mobyconfig get native/port-forwarding | tr -d '[[:space:]]')" if [ "${NETWORK_MODE}" = "slirp" -o "${NATIVE_PORT_FORWARDING}" = "true" ]; then - DOCKER_OPTS="${DOCKER_OPTS} --userland-proxy-path /sbin/proxy" + cp /usr/bin/slirp-proxy /usr/bin/docker-proxy fi fi @@ -74,7 +74,7 @@ start() --pidfile ${pidfile} \ --stderr "${DOCKER_LOGFILE}" \ --stdout "${DOCKER_LOGFILE}" \ - -- daemon --pidfile=${pidfile} ${DOCKER_OPTS} + -- --pidfile=${pidfile} ${DOCKER_OPTS} eend $? "Failed to start docker" } diff --git a/alpine/packages/proxy/.gitignore b/alpine/packages/proxy/.gitignore index a2b263ccc..e02fc7aa4 100644 --- a/alpine/packages/proxy/.gitignore +++ b/alpine/packages/proxy/.gitignore @@ -1,2 +1,2 @@ -/proxy -/vendor \ No newline at end of file +/slirp-proxy +/vendor diff --git a/alpine/packages/proxy/Makefile b/alpine/packages/proxy/Makefile index cf31274bf..98dabb38d 100644 --- a/alpine/packages/proxy/Makefile +++ b/alpine/packages/proxy/Makefile @@ -7,9 +7,9 @@ vendor: proxy: Dockerfile main.go proxy.go vendor docker build --build-arg GOOS=$(OS) --build-arg GOARCH=$(ARCH) -t proxy:build . - docker run --rm proxy:build cat /go/bin/proxy > proxy - chmod 755 proxy + docker run --rm proxy:build cat /go/bin/proxy > slirp-proxy + chmod 755 slirp-proxy clean: - rm -rf proxy vendor + rm -rf slirp-proxy vendor docker images -q proxy:build | xargs docker rmi -f || true