diff options
author | Björn Gustavsson <[email protected]> | 2017-03-08 10:44:02 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-03-08 14:29:51 +0100 |
commit | 247412294cbd04ecbd9680646b16d08f53255caa (patch) | |
tree | 38e6f7f86542f8da599b1f3d236c1f0a8550a1a9 | |
parent | c1dab09a681edac9684afea4b6e2522475cea2f0 (diff) | |
download | otp-247412294cbd04ecbd9680646b16d08f53255caa.tar.gz otp-247412294cbd04ecbd9680646b16d08f53255caa.tar.bz2 otp-247412294cbd04ecbd9680646b16d08f53255caa.zip |
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.
-rw-r--r-- | scripts/Dockerfile.32 | 6 | ||||
-rw-r--r-- | scripts/Dockerfile.64 | 6 | ||||
-rwxr-xr-x | scripts/build-docker-otp | 5 |
3 files changed, 5 insertions, 12 deletions
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+"$@"} |