Skip to content

Commit

Permalink
Merge pull request PaddlePaddle#1578 from gangliao/book
Browse files Browse the repository at this point in the history
Add Book in Docker
  • Loading branch information
gangliao committed Mar 9, 2017
2 parents 5914c5c + b4792a3 commit bd689cb
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 14 deletions.
25 changes: 24 additions & 1 deletion doc/getstarted/build_and_install/docker_install_en.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Windows -- in a consistent way.

.. code-block:: bash
docker run -d -p 2202:22 -v $PWD:/paddle paddle:dev
docker run -d -p 2202:22 -p 8888:8888 -v $PWD:/paddle paddle:dev
This runs a container of the development environment Docker image
with the local source tree mounted to :code:`/paddle` of the
Expand Down Expand Up @@ -82,6 +82,29 @@ Windows -- in a consistent way.
cd /paddle/build
ctest
4. Run PaddlePaddle Book under Docker Container

The Jupyter Notebook is an open-source web application that allows
you to create and share documents that contain live code, equations,
visualizations and explanatory text in a single browser.

PaddlePaddle Book is an interactive Jupyter Notebook for users and developers.
We already exposed port 8888 for this book. If you want to
dig deeper into deep learning, PaddlePaddle Book definitely is your best choice.

Once you are inside the container, simply issue the command:

.. code-block:: bash
jupyter notebook
Then, you would back and paste the address into the local browser:

.. code-block:: text
http://localhost:8888/
That's all. Enjoy your journey!

CPU-only and GPU Images
-----------------------
Expand Down
6 changes: 3 additions & 3 deletions paddle/scripts/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ RUN curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
cd .. && rm -rf cmake-3.4.1

COPY . /paddle/
RUN cd /paddle/ && git submodule update --init --recursive
RUN /paddle/paddle/scripts/docker/build.sh

VOLUME ["/usr/share/nginx/html/data", "/usr/share/nginx/html/paddle"]

# Configure OpenSSH server. c.f. https://docs.docker.com/engine/examples/running_ssh_service
Expand All @@ -60,9 +62,7 @@ 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"
# Jupyter Notebook: Paddle book
EXPOSE 8888

COPY ./paddle/scripts/docker/entrypoint /opt/bin/
Expand Down
6 changes: 3 additions & 3 deletions paddle/scripts/docker/Dockerfile.gpu
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ RUN curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
cd .. && rm -rf cmake-3.4.1

COPY . /paddle/
RUN cd /paddle/ && git submodule update --init --recursive
RUN /paddle/paddle/scripts/docker/build.sh

VOLUME ["/usr/share/nginx/html/data", "/usr/share/nginx/html/paddle"]

# Configure OpenSSH server. c.f. https://docs.docker.com/engine/examples/running_ssh_service
Expand All @@ -60,9 +62,7 @@ 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"
# Jupyter Notebook: Paddle book
EXPOSE 8888

COPY ./paddle/scripts/docker/entrypoint /opt/bin/
Expand Down
3 changes: 2 additions & 1 deletion paddle/scripts/docker/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ if [[ ${BUILD_AND_INSTALL:-OFF} == 'ON' ]]; then
fi

mkdir -p /paddle/build # -p means no error if exists
cd /paddle/build
# clean local cmake and third_party cache
cd /paddle/build && rm -rf * && rm -rf ../third_party
cmake .. \
-DWITH_DOC=${WITH_DOC:-OFF} \
-DWITH_GPU=${WITH_GPU:-OFF} \
Expand Down
8 changes: 2 additions & 6 deletions paddle/scripts/docker/entrypoint
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
#!/bin/bash
LOG=/var/log/all

touch $LOG

/usr/sbin/sshd -D >> $LOG &
jupyter notebook --ip=0.0.0.0 /notes/ >> $LOG &
tail -f $LOG
/usr/sbin/sshd -D &
jupyter notebook --ip=0.0.0.0 /paddle/book/

0 comments on commit bd689cb

Please sign in to comment.