From e162f485b5f37b437f2cfe313fcf4305b15adaf1 Mon Sep 17 00:00:00 2001 From: Matt Drollette Date: Mon, 26 Jan 2015 17:59:48 -0600 Subject: [PATCH] dockerize --- .gitignore | 2 ++ Dockerfile | 13 +++++++++++++ Makefile | 22 ++++++++++++++++++++++ release/Dockerfile | 7 +++++++ 4 files changed, 44 insertions(+) create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 release/Dockerfile diff --git a/.gitignore b/.gitignore index 33f8d9a..4eb78a7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ i2pseeds.su3 reseed_cert.pem reseed_private.pem /build +/.build +/release/i2p-tools diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..857134b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM golang + +# Copy the local package files to the container's workspace. +ADD . /go/src/github.com/MDrollette/i2p-tools + +# Make project CWD +WORKDIR /go/src/github.com/MDrollette/i2p-tools + +# Build everything +RUN go get +RUN go build -o /i2p-tools + +CMD ["/i2p-tools"] \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..aeb9335 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +NAME = i2p-tools +DOCKER_IMAGE = mdrollette/$(NAME) + +all: build + +.build: . + docker build -t $(NAME) . + docker inspect -f '{{.Id}}' $(NAME) > .build + +build: .build + +release: build + cd release && docker run --rm --entrypoint /bin/sh $(NAME) -c 'tar cf - /$(NAME)' | tar xf - + docker build --rm -t $(DOCKER_IMAGE) release + +push: release + docker push $(DOCKER_IMAGE) + +clean: + rm -f .build release/i2p-tools + +.PHONY: push release build all clean diff --git a/release/Dockerfile b/release/Dockerfile new file mode 100644 index 0000000..106c29d --- /dev/null +++ b/release/Dockerfile @@ -0,0 +1,7 @@ +FROM progrium/busybox + +ADD i2p-tools i2p-tools + +ENTRYPOINT ["/i2p-tools"] + +EXPOSE 443 \ No newline at end of file