1
0
Fork 0
mirror of https://github.com/tensorflow/haskell.git synced 2024-11-26 21:09:44 +01:00

Combined all RUN commands to have fewer layers.

This commit is contained in:
Greg Steuck 2016-10-28 15:44:29 -07:00
parent 9e219120d4
commit 0745e96469

View file

@ -1,38 +1,35 @@
# Image for launching TensorFlow Haskell tests. # Image for launching TensorFlow Haskell tests. Unlike the
# development image in docker/Dockerfile, this one doesn't require
# stack to be installed on the host. This comes at the expense of
# flexibility.
FROM tensorflow/tensorflow:nightly-devel FROM tensorflow/tensorflow:nightly-devel
# gcr.io/tensorflow/tensorflow:latest-devel
MAINTAINER TensorFlow authors <tensorflow-haskell@googlegroups.com> MAINTAINER TensorFlow authors <tensorflow-haskell@googlegroups.com>
# The build context directory is the top of the tensorflow-haskell
# tree.
ADD . /tfhs
WORKDIR /tfhs
RUN \ RUN \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 && \
echo 'deb http://download.fpcomplete.com/ubuntu trusty main'| tee /etc/apt/sources.list.d/fpco.list echo 'deb http://download.fpcomplete.com/ubuntu trusty main'| tee /etc/apt/sources.list.d/fpco.list && \
apt-get update && \
RUN apt-get update apt-get install -y \
RUN apt-get install -y \
# Avoids /usr/bin/ld: cannot find -ltinfo # Avoids /usr/bin/ld: cannot find -ltinfo
libncurses5-dev \ libncurses5-dev \
# Makes stack viable in the container # Makes stack viable in the container
libgmp-dev \ libgmp-dev \
libcurl3-dev \ libcurl3-dev \
stack stack && \
git submodule init && git submodule update && \
# The build context directory is the top of the tensorflow-haskell # Installs protoc and the libraries.
# tree. ( cd third_party/tensorflow && \
ADD . /tfhs
WORKDIR /tfhs
RUN git submodule init && git submodule update
# Installs protoc and the libraries.
RUN \
cd third_party/tensorflow && \
tensorflow/tools/ci_build/builds/configured CPU && \ tensorflow/tools/ci_build/builds/configured CPU && \
bazel build -c opt '@protobuf//:protoc' && \ bazel build -c opt '@protobuf//:protoc' && \
install -s bazel-bin/external/protobuf/protoc /usr/local/bin && \ install -s bazel-bin/external/protobuf/protoc /usr/local/bin && \
bazel build -c opt '//tensorflow:libtensorflow_c.so' && \ bazel build -c opt '//tensorflow:libtensorflow_c.so' && \
install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib && \ install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib && \
ldconfig ldconfig ) && \
stack setup && \
RUN stack setup && stack test --only-dependencies stack test --only-dependencies