From b8fb169d22eb289fff7ee0bef02bc427eee57768 Mon Sep 17 00:00:00 2001 From: Gurpartap Singh Date: Fri, 12 Sep 2014 22:56:40 +0530 Subject: [PATCH] Add Dockerfiles for compiling the guestbook and building a minimal image --- examples/guestbook-go/src/Dockerfile | 6 ++++++ .../guestbook-go/src/busybox-image/Dockerfile | 10 ++++++++++ .../src/busybox-image/script/build.sh | 7 +++++++ .../src/busybox-image/script/clean.sh | 6 ++++++ .../src/busybox-image/script/push.sh | 4 ++++ .../src/busybox-image/script/release.sh | 17 +++++++++++++++++ 6 files changed, 50 insertions(+) create mode 100644 examples/guestbook-go/src/Dockerfile create mode 100644 examples/guestbook-go/src/busybox-image/Dockerfile create mode 100755 examples/guestbook-go/src/busybox-image/script/build.sh create mode 100755 examples/guestbook-go/src/busybox-image/script/clean.sh create mode 100755 examples/guestbook-go/src/busybox-image/script/push.sh create mode 100755 examples/guestbook-go/src/busybox-image/script/release.sh diff --git a/examples/guestbook-go/src/Dockerfile b/examples/guestbook-go/src/Dockerfile new file mode 100644 index 0000000000..9b758281ab --- /dev/null +++ b/examples/guestbook-go/src/Dockerfile @@ -0,0 +1,6 @@ +FROM google/golang:latest + +RUN go get github.com/Gurpartap/guestbook-example && \ + cp /gopath/src/github.com/Gurpartap/guestbook-example/busybox-image/Dockerfile /gopath + +CMD docker build --rm --force-rm -t gurpartap/guestbook-example /gopath diff --git a/examples/guestbook-go/src/busybox-image/Dockerfile b/examples/guestbook-go/src/busybox-image/Dockerfile new file mode 100644 index 0000000000..9cb481b553 --- /dev/null +++ b/examples/guestbook-go/src/busybox-image/Dockerfile @@ -0,0 +1,10 @@ +FROM busybox:ubuntu-14.04 + +ADD ./bin/guestbook-example /app/guestbook-example +ADD ./src/github.com/Gurpartap/guestbook-example/public/index.html /app/public/index.html +ADD ./src/github.com/Gurpartap/guestbook-example/public/script.js /app/public/script.js +ADD ./src/github.com/Gurpartap/guestbook-example/public/style.css /app/public/style.css + +WORKDIR /app +CMD ["./guestbook-example"] +EXPOSE 3000 diff --git a/examples/guestbook-go/src/busybox-image/script/build.sh b/examples/guestbook-go/src/busybox-image/script/build.sh new file mode 100755 index 0000000000..01e6c7bcb2 --- /dev/null +++ b/examples/guestbook-go/src/busybox-image/script/build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +# Usage: ./build.sh + +docker build --rm --force-rm -t gurpartap/guestbook-example-build . +docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \ + -v $(which docker):/usr/local/bin/docker \ + -ti --name guestbook-example-build gurpartap/guestbook-example-build diff --git a/examples/guestbook-go/src/busybox-image/script/clean.sh b/examples/guestbook-go/src/busybox-image/script/clean.sh new file mode 100755 index 0000000000..0b43c36496 --- /dev/null +++ b/examples/guestbook-go/src/busybox-image/script/clean.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# Usage: ./clean.sh + +docker rm -f guestbook-example-build 2> /dev/null +docker rmi -f gurpartap/guestbook-example-build +docker rmi -f gurpartap/guestbook-example diff --git a/examples/guestbook-go/src/busybox-image/script/push.sh b/examples/guestbook-go/src/busybox-image/script/push.sh new file mode 100755 index 0000000000..4fb56af82e --- /dev/null +++ b/examples/guestbook-go/src/busybox-image/script/push.sh @@ -0,0 +1,4 @@ +#!/bin/sh +# Usage: ./push.sh [TAG] + +docker push gurpartap/guestbook-example:${1:-latest} diff --git a/examples/guestbook-go/src/busybox-image/script/release.sh b/examples/guestbook-go/src/busybox-image/script/release.sh new file mode 100755 index 0000000000..9b9aec847c --- /dev/null +++ b/examples/guestbook-go/src/busybox-image/script/release.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Usage: ./release.sh [TAG] + +set +e + +DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) + +echo " ---> Building..." +sh $DIR/build.sh + +echo " ---> Pushing gurpartap/guestbook-example:${1:-latest}..." +sh $DIR/push.sh $1 + +echo " ---> Cleaning up..." +sh $DIR/clean.sh + +echo " ---> Done."