summaryrefslogtreecommitdiff
path: root/docker/cpu/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/cpu/Dockerfile')
-rw-r--r--docker/cpu/Dockerfile45
1 files changed, 45 insertions, 0 deletions
diff --git a/docker/cpu/Dockerfile b/docker/cpu/Dockerfile
new file mode 100644
index 00000000..af6c03c6
--- /dev/null
+++ b/docker/cpu/Dockerfile
@@ -0,0 +1,45 @@
+FROM ubuntu:16.04
+LABEL maintainer caffe-maint@googlegroups.com
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ build-essential \
+ cmake \
+ git \
+ wget \
+ libatlas-base-dev \
+ libboost-all-dev \
+ libgflags-dev \
+ libgoogle-glog-dev \
+ libhdf5-serial-dev \
+ libleveldb-dev \
+ liblmdb-dev \
+ libopencv-dev \
+ libprotobuf-dev \
+ libsnappy-dev \
+ protobuf-compiler \
+ python-dev \
+ python-numpy \
+ python-pip \
+ python-setuptools \
+ python-scipy && \
+ rm -rf /var/lib/apt/lists/*
+
+ENV CAFFE_ROOT=/opt/caffe
+WORKDIR $CAFFE_ROOT
+
+# FIXME: use ARG instead of ENV once DockerHub supports this
+ENV CLONE_TAG=rc4
+
+RUN git clone -b ${CLONE_TAG} --depth 1 https://github.com/BVLC/caffe.git . && \
+ pip install --upgrade pip && \
+ cd python && for req in $(cat requirements.txt) pydot; do pip install $req; done && cd .. && \
+ mkdir build && cd build && \
+ cmake -DCPU_ONLY=1 .. && \
+ make -j"$(nproc)"
+
+ENV PYCAFFE_ROOT $CAFFE_ROOT/python
+ENV PYTHONPATH $PYCAFFE_ROOT:$PYTHONPATH
+ENV PATH $CAFFE_ROOT/build/tools:$PYCAFFE_ROOT:$PATH
+RUN echo "$CAFFE_ROOT/build/lib" >> /etc/ld.so.conf.d/caffe.conf && ldconfig
+
+WORKDIR /workspace