From 2efdd460dac2ff0ed15a9b8ba079bc83e10e6d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=9B=8A?= Date: Fri, 13 Jan 2017 13:48:47 -0800 Subject: [PATCH] Add Dockerfile.dev for building a standard develop environment --- paddle/scripts/docker/Dockerfile.dev | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 paddle/scripts/docker/Dockerfile.dev diff --git a/paddle/scripts/docker/Dockerfile.dev b/paddle/scripts/docker/Dockerfile.dev new file mode 100644 index 0000000000..e60b9e3073 --- /dev/null +++ b/paddle/scripts/docker/Dockerfile.dev @@ -0,0 +1,47 @@ +FROM ubuntu:16.04 +MAINTAINER PaddlePaddle Authors + +ARG DEBIAN_FRONTEND=noninteractive +ARG UBUNTU_MIRROR +RUN /bin/bash -c 'if [[ -n ${UBUNTU_MIRROR} ]]; then sed -i 's#http://archive.ubuntu.com#${UBUNTU_MIRROR}#g' /etc/apt/sources.list; fi' + +RUN apt-get update \ + && apt-get install -y cmake libprotobuf-dev protobuf-compiler git \ + libgoogle-glog-dev libgflags-dev libgtest-dev \ + libatlas-dev libatlas3-base g++ m4 python-pip \ + python-protobuf python-numpy python-dev swig openssh-server \ + wget unzip python-matplotlib tar xz-utils bzip2 gzip coreutils \ + sed grep graphviz libjpeg-dev zlib1g-dev doxygen \ + clang-3.8 llvm-3.8 libclang-3.8-dev clang-format-3.8 clang-tidy-3.8 \ + && apt-get clean -y +RUN cd /usr/src/gtest && cmake . && make && cp *.a /usr/lib +RUN pip install -U BeautifulSoup docopt PyYAML pillow \ + sphinx sphinx_rtd_theme recommonmark jupyter + +ARG WITH_AVX +ARG WITH_DOC +ARG WITH_SWIG_PY +ARG WITH_STYLE_CHECK + +ENV WITH_GPU=OFF +ENV WITH_AVX=${WITH_AVX:-ON} +ENV WITH_DOC=${WITH_DOC:-ON} +ENV WITH_SWIG_PY=${WITH_SWIG_PY:-ON} +ENV WITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF} + +RUN echo 'export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}' >> /etc/profile + +# Configure OpenSSH server. c.f. https://docs.docker.com/engine/examples/running_ssh_service +RUN mkdir /var/run/sshd +RUN echo 'root:root' | chpasswd +RUN sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config +RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config +EXPOSE 22 + +# Jupyter Notebook directory. +RUN mkdir /notes/ +WORKDIR "/notes" +EXPOSE 8888 + +RUN mkdir -p /opt/bin +COPY ./paddle/scripts/docker/entrypoint /opt/bin/