From 247412294cbd04ecbd9680646b16d08f53255caa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Wed, 8 Mar 2017 10:44:02 +0100 Subject: build-docker-otp: Avoid copying the git repository to docker daemon Since docker is run from the top-level of the otp repository, the entire repository will be the context for the docker daemon. In my private repository, more than 800Mb had to be copied before the build could be started. Let the ./scripts directory be the context for docker instead. That way, only the otp.tar.gz file needs to be copied. While we are it, also use the ADD command in the Dockerfiles to pack up the tar file and avoid copying the tar file itself to the Docker image. --- scripts/Dockerfile.32 | 6 +----- scripts/Dockerfile.64 | 6 +----- scripts/build-docker-otp | 5 +++-- 3 files changed, 5 insertions(+), 12 deletions(-) (limited to 'scripts') diff --git a/scripts/Dockerfile.32 b/scripts/Dockerfile.32 index 01025340f7..23a360a58e 100644 --- a/scripts/Dockerfile.32 +++ b/scripts/Dockerfile.32 @@ -1,10 +1,6 @@ FROM erlang/ubuntu-build:32bit -COPY ./otp.tar.gz /buildroot/ - -WORKDIR /buildroot/ - -RUN tar xzf otp.tar.gz +ADD ./otp.tar.gz /buildroot/ WORKDIR /buildroot/otp/ diff --git a/scripts/Dockerfile.64 b/scripts/Dockerfile.64 index c08184d10a..199067e5fe 100644 --- a/scripts/Dockerfile.64 +++ b/scripts/Dockerfile.64 @@ -1,10 +1,6 @@ FROM erlang/ubuntu-build:64bit -COPY ./otp.tar.gz /buildroot/ - -WORKDIR /buildroot/ - -RUN tar xzf otp.tar.gz +ADD ./otp.tar.gz /buildroot/ WORKDIR /buildroot/otp/ diff --git a/scripts/build-docker-otp b/scripts/build-docker-otp index 928b84a32d..01bb0b628e 100755 --- a/scripts/build-docker-otp +++ b/scripts/build-docker-otp @@ -8,7 +8,8 @@ fi ARCH="$1" shift -git archive --format=tar.gz --prefix=otp/ HEAD >otp.tar.gz +git archive --format=tar.gz --prefix=otp/ HEAD >scripts/otp.tar.gz -docker build -t otp --file scripts/Dockerfile.$ARCH . +docker build -t otp --file scripts/Dockerfile.$ARCH scripts +rm scripts/otp.tar.gz docker run --volume="$PWD/logs:/buildroot/otp/logs" -i --rm otp ${1+"$@"} -- cgit v1.2.3