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 # Paddle development tools. RUN apt-get install -y coreutils git cmake g++ m4 python-pip swig # Paddle data tools. RUN apt-get install -y wget unzip tar xz-utils bzip2 gzip sed grep graphviz # Paddle documentation tools. RUN apt-get install -y doxygen # Paddle code auto-reformat tools. RUN apt-get install -y clang-3.8 llvm-3.8 libclang-3.8-dev clang-format-3.8 clang-tidy-3.8 # Paddle prerequisites. RUN apt-get install -y \ libprotobuf-dev protobuf-compiler \ libgoogle-glog-dev libgflags-dev libgtest-dev \ libatlas-dev libatlas3-base \ python-protobuf python-numpy python-dev python-matplotlib \ libjpeg-dev zlib1g-dev # Development environment: RUN apt-get install -y openssh-server RUN apt-get clean -y # Build Google test RUN cd /usr/src/gtest && cmake . && make && cp *.a /usr/lib # Python dependencies. 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 CMD ["/usr/sbin/sshd", "-D"]