Allow docker engine to be pulled from s3 bucket

Use aws cli to pull docker engine binaries from s3 bucket.  Conditional and
happens if DOCKER_BIN_URL begins with 's3://'

Example usage:
```
  export AWS_ACCESS_KEY_ID=key
  export AWS_SECRET_ACCESS_KEY=secret
  make DOCKER_BIN_URL=s3://path-to-engine-binaries
```
Signed-off-by: Robb Kistler <robb.kistler@docker.com>

Signed-off-by: Robb Kistler <robb.kistler@docker.com>
This commit is contained in:
Robb Kistler
2017-02-23 19:57:06 -08:00
parent 739a7b0638
commit e0269e0978
3 changed files with 48 additions and 0 deletions

View File

@@ -3,6 +3,8 @@ FORCE_CURL?=1
ARCH?=x86_64
OS?=Linux
AWS_CLI_IMAGE=mobylinux/aws-cli:9432b650794d38a70cf00be4da971367c52d1d5b@sha256:679f6f45fb8598cab90888733a07ddeeb26a27a7889114f89aaf712eaa3abe06
all: usr/bin/docker
RELEASE_CANDIDATE=$(findstring -rc,$(DOCKER_VERSION))
@@ -37,9 +39,15 @@ cleanusr:
mkdir -p usr/bin
rm -f usr/bin/* ok
S3_PREFIX=s3://
download: cleanusr
ifdef DOCKER_BIN_URL
ifeq ($(filter $(S3_PREFIX)%, $(DOCKER_BIN_URL)),)
(curl -fsSL "${DOCKER_BIN_URL}" && touch ok) | tar xzf -
else
(docker run --rm -e AWS_SECRET_ACCESS_KEY -e AWS_ACCESS_KEY_ID $(AWS_CLI_IMAGE) s3 cp '$(DOCKER_BIN_URL)' -) | tar xzf -
endif
else
(curl -fsSL https://${DOCKER_HOST}/builds/${OS}/${ARCH}/docker-${DOCKER_VERSION}.tgz && touch ok) | tar xzf -
endif