From e7ac6f6ab14a4946eae0a8277b78fea64c0fc8a9 Mon Sep 17 00:00:00 2001 From: Chance Zibolski Date: Sun, 7 Sep 2014 11:23:38 -0700 Subject: [PATCH] Add dockerfiles to repo. --- .dockerignore | 10 ++++++++++ Dockerfile | 42 +++++++++++++++++++++++++++++++++++++++++ docker/.dockerignore | 1 + docker/Dockerfile | 13 +++++++++++++ docker/Dockerfile.final | 10 ++++++++++ docker/build_docker.sh | 5 +++++ 6 files changed, 81 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker/.dockerignore create mode 100644 docker/Dockerfile create mode 100644 docker/Dockerfile.final create mode 100755 docker/build_docker.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..611bba912 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +.vagrant +docs/build +build +cmake/plugin_loader.cmake +etc/ +pipeline/mock_*.go +var/ +*.sw? +externals +dockerfile/* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..52eab4f45 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +# heka_base image +FROM ubuntu:14.04 + +MAINTAINER Chance Zibolski (@chance) + +RUN apt-get update && \ + apt-get install -yq --no-install-recommends \ + build-essential \ + bzr \ + ca-certificates \ + cmake \ + curl \ + git \ + golang-goprotobuf-dev\ + make \ + mercurial \ + patch \ + ruby-dev \ + protobuf-compiler \ + python-sphinx \ + wget + +# Install Go 1.3 +RUN curl -s https://storage.googleapis.com/golang/go1.3.1.linux-amd64.tar.gz | tar -v -C /usr/local -xz + +WORKDIR /heka + +ENV GOROOT /usr/local/go +ENV PATH $PATH:/usr/local/go/bin:/go/bin + +ENV CTEST_OUTPUT_ON_FAILURE 1 +ENV BUILD_DIR /heka/build +ENV GOPATH $BUILD_DIR/heka +ENV GOBIN $GOPATH/bin +ENV PATH $PATH:$GOBIN +# Build faster +ENV NUM_JOBS 10 + +EXPOSE 4352 + +COPY . /heka +RUN ./build.sh diff --git a/docker/.dockerignore b/docker/.dockerignore new file mode 100644 index 000000000..c07a74de4 --- /dev/null +++ b/docker/.dockerignore @@ -0,0 +1 @@ +build.sh \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 000000000..30d1a18a1 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,13 @@ +# heka_build image +# Uses heka base which includes a built checkout of heka, and then builds a dpkg +# and builds a new image which installs that dpkg +FROM ecnahc515/heka_base + +RUN mkdir -p /heka_docker +RUN cd /heka/build && make deb +RUN find /heka/build -name "*.deb" -exec cp {} /heka_docker/heka.deb \; +COPY Dockerfile.final /heka_docker/Dockerfile + +RUN wget -nv https://get.docker.io/builds/Linux/x86_64/docker-latest -O /docker && chmod +x /docker + +CMD /docker build -t ecnahc515/heka /heka_docker diff --git a/docker/Dockerfile.final b/docker/Dockerfile.final new file mode 100644 index 000000000..6b2e05573 --- /dev/null +++ b/docker/Dockerfile.final @@ -0,0 +1,10 @@ +# heka image +# installs heka from a deb package +FROM ubuntu:14.04 +MAINTAINER Chance Zibolski (@chance) + +ADD heka.deb /tmp/heka.deb +RUN dpkg -i /tmp/heka.deb && rm /tmp/heka.deb + +EXPOSE 4352 +ENTRYPOINT ["hekad"] diff --git a/docker/build_docker.sh b/docker/build_docker.sh new file mode 100755 index 000000000..c9890d1f0 --- /dev/null +++ b/docker/build_docker.sh @@ -0,0 +1,5 @@ +#!/bin/bash +docker build -t ecnahc515/heka_base .. +docker build --rm -t ecnahc515/heka_build . +docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -ti --name heka_build ecnahc515/heka_build +docker rmi ecnahc515/heka_build