Created
October 10, 2016 04:13
-
-
Save johndpope/d916029bdea7d7e4b93bd5bbc3541f9c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:14.04 | |
MAINTAINER Jeremiah Harmsen <[email protected]> | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
curl \ | |
git \ | |
libfreetype6-dev \ | |
libpng12-dev \ | |
libzmq3-dev \ | |
pkg-config \ | |
python-dev \ | |
python-numpy \ | |
python-pip \ | |
software-properties-common \ | |
swig \ | |
zip \ | |
zlib1g-dev \ | |
libcurl3-dev \ | |
&& \ | |
apt-get clean && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN curl -fSsL -O https://bootstrap.pypa.io/get-pip.py && \ | |
python get-pip.py && \ | |
rm get-pip.py | |
# Set up grpc | |
RUN pip install enum34 futures mock six && \ | |
pip install --pre 'protobuf>=3.0.0a3' && \ | |
pip install -i https://testpypi.python.org/simple --pre grpcio | |
# Set up Bazel. | |
# We need to add a custom PPA to pick up JDK8, since trusty doesn't | |
# have an openjdk8 backport. openjdk-r is maintained by a reliable contributor: | |
# Matthias Klose (https://launchpad.net/~doko). It will do until | |
# we either update the base image beyond 14.04 or openjdk-8 is | |
# finally backported to trusty; see e.g. | |
# https://bugs.launchpad.net/trusty-backports/+bug/1368094 | |
RUN add-apt-repository -y ppa:openjdk-r/ppa && \ | |
apt-get update && \ | |
apt-get install -y openjdk-8-jdk openjdk-8-jre-headless && \ | |
apt-get clean && \ | |
rm -rf /var/lib/apt/lists/* | |
# Running bazel inside a `docker build` command causes trouble, cf: | |
# https://github.com/bazelbuild/bazel/issues/134 | |
# The easiest solution is to set up a bazelrc file forcing --batch. | |
RUN echo "startup --batch" >>/root/.bazelrc | |
# Similarly, we need to workaround sandboxing issues: | |
# https://github.com/bazelbuild/bazel/issues/418 | |
RUN echo "build --spawn_strategy=standalone --genrule_strategy=standalone" \ | |
>>/root/.bazelrc | |
ENV BAZELRC /root/.bazelrc | |
# Install the most recent bazel release. | |
ENV BAZEL_VERSION 0.3.1 | |
WORKDIR / | |
RUN mkdir /bazel && \ | |
cd /bazel && \ | |
curl -fSsL -O https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh && \ | |
curl -fSsL -o /bazel/LICENSE.txt https://raw.githubusercontent.com/bazelbuild/bazel/master/LICENSE.txt && \ | |
chmod +x bazel-*.sh && \ | |
./bazel-$BAZEL_VERSION-installer-linux-x86_64.sh && \ | |
cd / && \ | |
rm -f /bazel/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh | |
RUN apt-get update && apt-get install wget -y | |
RUN wget https://gist.githubusercontent.com/johndpope/fc1c2327a4ae255d9c44dda9b67b5288/raw/d1a1cd64fd0c3baede2746ec05ba048f9c414a93/parseyapi.sh \ | |
&& chmod +x parseyapi.sh \ | |
&& ./parseyapi.sh | |
CMD ["/bin/bash"] | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment