blob: 45be17259355ac5230e7506d19b7d7bcfbf84ac2 [file] [log] [blame]
Nicolas Nobleddef2462015-01-06 18:08:25 -08001# Base Dockerfile for gRPC dev images
2FROM debian:latest
3
4# Install Git.
5RUN apt-get update && apt-get install -y \
6 autoconf \
7 autotools-dev \
8 build-essential \
9 bzip2 \
10 curl \
11 gcc \
12 git \
13 libc6 \
14 libc6-dbg \
15 libc6-dev \
Nicolas Nobleddef2462015-01-06 18:08:25 -080016 libtool \
17 make \
18 strace \
19 python-dev \
20 python-setuptools \
21 telnet \
22 unzip \
23 wget \
24 zip && apt-get clean
25
26# Install useful useful python modules
27RUN easy_install -U pip
28RUN pip install -U crcmod # makes downloads from cloud storage faster
29
30# Install GCloud
31RUN wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.zip \
32 && unzip google-cloud-sdk.zip && rm google-cloud-sdk.zip
33ENV CLOUD_SDK /google-cloud-sdk
34RUN $CLOUD_SDK/install.sh --usage-reporting=true --path-update=true --bash-completion=true --rc-path=/.bashrc --disable-installation-options
35ENV PATH $CLOUD_SDK/bin:$PATH
36
37# Install gcompute-tools to allow access to private git-on-borg repos
38RUN git clone https://gerrit.googlesource.com/gcompute-tools /var/local/git/gcompute-tools
39
40# Start the daemon that allows access to private git-on-borg repos
41RUN /var/local/git/gcompute-tools/git-cookie-authdaemon
42
43# Install the grpc-tools scripts dir from git
44RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc-tools /var/local/git/grpc-tools
45
46# Install the grpc-protobuf dir that has the protoc patch
47RUN git clone https://team.googlesource.com/one-platform-grpc-team/protobuf /var/local/git/protobuf
48
49# Install the patched version of protoc
50RUN cd /var/local/git/protobuf && \
51 ./autogen.sh && \
52 ./configure --prefix=/usr && \
53 make && make check && make install && make clean
54
55# Define the default command.
56CMD ["bash"]