aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/dockerfile/grpc_base
diff options
context:
space:
mode:
authorGravatar Nicolas Noble <nnoble@google.com>2015-01-06 18:08:25 -0800
committerGravatar Nicolas Noble <nnoble@google.com>2015-01-06 18:08:25 -0800
commitddef24620a67fa352d94415dc56121c01e3d8af8 (patch)
treef2383ee6e84a21e92f1524d23436ab28cfe04756 /tools/dockerfile/grpc_base
parent9f2b09e112f5b95e843de786d7d3ecfd026170b6 (diff)
Adding the tools directory to the git export.
Diffstat (limited to 'tools/dockerfile/grpc_base')
-rw-r--r--tools/dockerfile/grpc_base/Dockerfile57
-rw-r--r--tools/dockerfile/grpc_base/README.md11
2 files changed, 68 insertions, 0 deletions
diff --git a/tools/dockerfile/grpc_base/Dockerfile b/tools/dockerfile/grpc_base/Dockerfile
new file mode 100644
index 0000000000..76e585a7d0
--- /dev/null
+++ b/tools/dockerfile/grpc_base/Dockerfile
@@ -0,0 +1,57 @@
+# Base Dockerfile for gRPC dev images
+FROM debian:latest
+
+# Install Git.
+RUN apt-get update && apt-get install -y \
+ autoconf \
+ autotools-dev \
+ build-essential \
+ bzip2 \
+ curl \
+ gcc \
+ git \
+ libc6 \
+ libc6-dbg \
+ libc6-dev \
+ libevent-dev \
+ libtool \
+ make \
+ strace \
+ python-dev \
+ python-setuptools \
+ telnet \
+ unzip \
+ wget \
+ zip && apt-get clean
+
+# Install useful useful python modules
+RUN easy_install -U pip
+RUN pip install -U crcmod # makes downloads from cloud storage faster
+
+# Install GCloud
+RUN wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.zip \
+ && unzip google-cloud-sdk.zip && rm google-cloud-sdk.zip
+ENV CLOUD_SDK /google-cloud-sdk
+RUN $CLOUD_SDK/install.sh --usage-reporting=true --path-update=true --bash-completion=true --rc-path=/.bashrc --disable-installation-options
+ENV PATH $CLOUD_SDK/bin:$PATH
+
+# Install gcompute-tools to allow access to private git-on-borg repos
+RUN git clone https://gerrit.googlesource.com/gcompute-tools /var/local/git/gcompute-tools
+
+# Start the daemon that allows access to private git-on-borg repos
+RUN /var/local/git/gcompute-tools/git-cookie-authdaemon
+
+# Install the grpc-tools scripts dir from git
+RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc-tools /var/local/git/grpc-tools
+
+# Install the grpc-protobuf dir that has the protoc patch
+RUN git clone https://team.googlesource.com/one-platform-grpc-team/protobuf /var/local/git/protobuf
+
+# Install the patched version of protoc
+RUN cd /var/local/git/protobuf && \
+ ./autogen.sh && \
+ ./configure --prefix=/usr && \
+ make && make check && make install && make clean
+
+# Define the default command.
+CMD ["bash"]
diff --git a/tools/dockerfile/grpc_base/README.md b/tools/dockerfile/grpc_base/README.md
new file mode 100644
index 0000000000..4745141fc4
--- /dev/null
+++ b/tools/dockerfile/grpc_base/README.md
@@ -0,0 +1,11 @@
+Base GRPC Dockerfile
+====================
+
+Dockerfile for creating the base gRPC development Docker instance.
+For now, this assumes that the development will be done on GCE instances, with source code on Git-on-Borg.
+
+As of 2014/09/29, it includes
+- git
+- some useful tools like curl, emacs, strace, telnet etc
+- downloads the gerrit-compute-tools and installs the script that allows access to gerrit when on git-on-borg
+- a patched version of protoc, to allow protos with stream tags to work