mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-18 07:22:57 +00:00
Merge branch 'master' into asalikhov/update
This commit is contained in:
12
README.md
12
README.md
@@ -44,7 +44,7 @@ This change is tracked in the issue [#1217](https://github.com/jupyter/docker-st
|
|||||||
|
|
||||||
You can try a
|
You can try a
|
||||||
[relatively recent build of the jupyter/base-notebook image on mybinder.org](https://mybinder.org/v2/gh/jupyter/docker-stacks/master?filepath=README.ipynb)
|
[relatively recent build of the jupyter/base-notebook image on mybinder.org](https://mybinder.org/v2/gh/jupyter/docker-stacks/master?filepath=README.ipynb)
|
||||||
by simply clicking the preceding link. The image used in binder was last updated on 19 Jan 2021.
|
by simply clicking the preceding link. The image used in binder was last updated on 22 May 2021.
|
||||||
Otherwise, the two examples below may help you get started if
|
Otherwise, the two examples below may help you get started if
|
||||||
you [have Docker installed](https://docs.docker.com/install/) know
|
you [have Docker installed](https://docs.docker.com/install/) know
|
||||||
[which Docker image](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html) you
|
[which Docker image](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html) you
|
||||||
@@ -53,7 +53,7 @@ want to use, and want to launch a single Jupyter Notebook server in a container.
|
|||||||
The [User Guide on ReadTheDocs](https://jupyter-docker-stacks.readthedocs.io/) describes additional
|
The [User Guide on ReadTheDocs](https://jupyter-docker-stacks.readthedocs.io/) describes additional
|
||||||
uses and features in detail.
|
uses and features in detail.
|
||||||
|
|
||||||
**Example 1:** This command pulls the `jupyter/scipy-notebook` image tagged `17aba6048f44` from
|
**Example 1:** This command pulls the `jupyter/scipy-notebook` image tagged `33add21fab64` from
|
||||||
Docker Hub if it is not already present on the local host. It then starts a container running a
|
Docker Hub if it is not already present on the local host. It then starts a container running a
|
||||||
Jupyter Notebook server and exposes the server on host port 8888. The server logs appear in the
|
Jupyter Notebook server and exposes the server on host port 8888. The server logs appear in the
|
||||||
terminal. Visiting `http://<hostname>:8888/?token=<token>` in a browser loads the Jupyter Notebook
|
terminal. Visiting `http://<hostname>:8888/?token=<token>` in a browser loads the Jupyter Notebook
|
||||||
@@ -61,16 +61,16 @@ dashboard page, where `hostname` is the name of the computer running docker and
|
|||||||
secret token printed in the console. The container remains intact for restart after the notebook
|
secret token printed in the console. The container remains intact for restart after the notebook
|
||||||
server exits.
|
server exits.
|
||||||
|
|
||||||
docker run -p 8888:8888 jupyter/scipy-notebook:17aba6048f44
|
docker run -p 8888:8888 jupyter/scipy-notebook:33add21fab64
|
||||||
|
|
||||||
**Example 2:** This command performs the same operations as **Example 1**, but it exposes the server
|
**Example 2:** This command performs the same operations as **Example 1**, but it exposes the server
|
||||||
on host port 10000 instead of port 8888. Visiting `http://<hostname>:10000/?token=<token>` in a
|
on host port 10000 instead of port 8888. Visiting `http://<hostname>:10000/?token=<token>` in a
|
||||||
browser loads JupyterLab, where `hostname` is the name of the computer running docker and `token` is
|
browser loads JupyterLab, where `hostname` is the name of the computer running docker and `token` is
|
||||||
the secret token printed in the console.::
|
the secret token printed in the console.::
|
||||||
|
|
||||||
docker run -p 10000:8888 jupyter/scipy-notebook:17aba6048f44
|
docker run -p 10000:8888 jupyter/scipy-notebook:33add21fab64
|
||||||
|
|
||||||
**Example 3:** This command pulls the `jupyter/datascience-notebook` image tagged `9b06df75e445`
|
**Example 3:** This command pulls the `jupyter/datascience-notebook` image tagged `33add21fab64`
|
||||||
from Docker Hub if it is not already present on the local host. It then starts an _ephemeral_
|
from Docker Hub if it is not already present on the local host. It then starts an _ephemeral_
|
||||||
container running a Jupyter Notebook server and exposes the server on host port 10000. The command
|
container running a Jupyter Notebook server and exposes the server on host port 10000. The command
|
||||||
mounts the current working directory on the host as `/home/jovyan/work` in the container. The server
|
mounts the current working directory on the host as `/home/jovyan/work` in the container. The server
|
||||||
@@ -79,7 +79,7 @@ JupyterLab, where `hostname` is the name of the computer running docker and `tok
|
|||||||
token printed in the console. Docker destroys the container after notebook server exit, but any
|
token printed in the console. Docker destroys the container after notebook server exit, but any
|
||||||
files written to `~/work` in the container remain intact on the host.
|
files written to `~/work` in the container remain intact on the host.
|
||||||
|
|
||||||
docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan/work jupyter/datascience-notebook:9b06df75e445
|
docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan/work jupyter/datascience-notebook:33add21fab64
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
@@ -21,7 +21,7 @@ RUN apt-get update --yes && \
|
|||||||
|
|
||||||
USER $NB_UID
|
USER $NB_UID
|
||||||
|
|
||||||
# R packages
|
# R packages including IRKernel which gets installed globally.
|
||||||
RUN mamba install --quiet --yes \
|
RUN mamba install --quiet --yes \
|
||||||
'r-base=4.0.5' \
|
'r-base=4.0.5' \
|
||||||
'r-ggplot2=3.3*' \
|
'r-ggplot2=3.3*' \
|
||||||
|
@@ -2,11 +2,11 @@
|
|||||||
# Distributed under the terms of the Modified BSD License.
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
# https://hub.docker.com/r/jupyter/base-notebook/tags
|
# https://hub.docker.com/r/jupyter/base-notebook/tags
|
||||||
ARG BASE_CONTAINER=jupyter/base-notebook:aec555e49be6
|
ARG BASE_CONTAINER=jupyter/base-notebook:33add21fab64
|
||||||
FROM $BASE_CONTAINER
|
FROM $BASE_CONTAINER
|
||||||
|
|
||||||
LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
|
LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
|
||||||
ENV TAG="aec555e49be6"
|
ENV TAG="33add21fab64"
|
||||||
|
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
COPY binder/README.ipynb .
|
COPY binder/README.ipynb .
|
||||||
|
@@ -67,10 +67,13 @@ RUN conda install --quiet --yes \
|
|||||||
'r-randomforest=4.6*' \
|
'r-randomforest=4.6*' \
|
||||||
'r-rcurl=1.98*' \
|
'r-rcurl=1.98*' \
|
||||||
'r-rmarkdown=2.8*' \
|
'r-rmarkdown=2.8*' \
|
||||||
|
'r-rodbc=1.3*' \
|
||||||
'r-rsqlite=2.2*' \
|
'r-rsqlite=2.2*' \
|
||||||
'r-shiny=1.6*' \
|
'r-shiny=1.6*' \
|
||||||
|
'r-tidymodels=0.1*' \
|
||||||
'r-tidyverse=1.3*' \
|
'r-tidyverse=1.3*' \
|
||||||
'rpy2=3.4*' && \
|
'rpy2=3.4*' \
|
||||||
|
'unixodbc=2.3.*' && \
|
||||||
conda clean --all -f -y && \
|
conda clean --all -f -y && \
|
||||||
fix-permissions "${CONDA_DIR}" && \
|
fix-permissions "${CONDA_DIR}" && \
|
||||||
fix-permissions "/home/${NB_USER}"
|
fix-permissions "/home/${NB_USER}"
|
||||||
|
@@ -10,21 +10,21 @@ Jupyter Docker Stacks are a set of ready-to-run Docker images containing Jupyter
|
|||||||
Quick Start
|
Quick Start
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
You can try a `recent build of the jupyter/base-notebook image on mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-stacks/master?filepath=README.ipynb>`_ by simply clicking the preceding link. Otherwise, the two examples below may help you get started if you `have Docker installed <https://docs.docker.com/install/>`_, know :doc:`which Docker image <using/selecting>` you want to use, and want to launch a single Jupyter Notebook server in a container.
|
You can try a `recent build of the jupyter/base-notebook image on mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-stacks/master?filepath=README.ipynb>`_ by simply clicking the preceding link. Otherwise, three examples below may help you get started if you `have Docker installed <https://docs.docker.com/install/>`_, know :doc:`which Docker image <using/selecting>` you want to use, and want to launch a single Jupyter Notebook server in a container.
|
||||||
|
|
||||||
The other pages in this documentation describe additional uses and features in detail.
|
The other pages in this documentation describe additional uses and features in detail.
|
||||||
|
|
||||||
**Example 1:** This command pulls the ``jupyter/scipy-notebook`` image tagged ``17aba6048f44`` from Docker Hub if it is not already present on the local host. It then starts a container running a Jupyter Notebook server and exposes the server on host port 8888. The server logs appear in the terminal. Visiting ``http://<hostname>:8888/?token=<token>`` in a browser loads the Jupyter Notebook dashboard page, where ``hostname`` is the name of the computer running docker and ``token`` is the secret token printed in the console. The container remains intact for restart after the notebook server exits.::
|
**Example 1:** This command pulls the ``jupyter/scipy-notebook`` image tagged ``33add21fab64`` from Docker Hub if it is not already present on the local host. It then starts a container running a Jupyter Notebook server and exposes the server on host port 8888. The server logs appear in the terminal. Visiting ``http://<hostname>:8888/?token=<token>`` in a browser loads the Jupyter Notebook dashboard page, where ``hostname`` is the name of the computer running docker and ``token`` is the secret token printed in the console. The container remains intact for restart after the notebook server exits.::
|
||||||
|
|
||||||
docker run -p 8888:8888 jupyter/scipy-notebook:17aba6048f44
|
docker run -p 8888:8888 jupyter/scipy-notebook:33add21fab64
|
||||||
|
|
||||||
**Example 2:** This command performs the same operations as **Example 1**, but it exposes the server on host port 10000 instead of port 8888. Visiting ``http://<hostname>:10000/?token=<token>`` in a browser loads JupyterLab, where ``hostname`` is the name of the computer running docker and ``token`` is the secret token printed in the console.::
|
**Example 2:** This command performs the same operations as **Example 1**, but it exposes the server on host port 10000 instead of port 8888. Visiting ``http://<hostname>:10000/?token=<token>`` in a browser loads Jupyter Notebook server, where ``hostname`` is the name of the computer running docker and ``token`` is the secret token printed in the console.::
|
||||||
|
|
||||||
docker run -p 10000:8888 jupyter/scipy-notebook:17aba6048f44
|
docker run -p 10000:8888 jupyter/scipy-notebook:33add21fab64
|
||||||
|
|
||||||
**Example 3:** This command pulls the ``jupyter/datascience-notebook`` image tagged ``9b06df75e445`` from Docker Hub if it is not already present on the local host. It then starts an *ephemeral* container running a Jupyter Notebook server and exposes the server on host port 10000. The command mounts the current working directory on the host as ``/home/jovyan/work`` in the container. The server logs appear in the terminal. Visiting ``http://<hostname>:10000/?token=<token>`` in a browser loads JupyterLab, where ``hostname`` is the name of the computer running docker and ``token`` is the secret token printed in the console. Docker destroys the container after notebook server exit, but any files written to ``~/work`` in the container remain intact on the host.::
|
**Example 3:** This command pulls the ``jupyter/datascience-notebook`` image tagged ``33add21fab64`` from Docker Hub if it is not already present on the local host. It then starts an *ephemeral* container running a Jupyter Notebook server and exposes the server on host port 10000. The command mounts the current working directory on the host as ``/home/jovyan/work`` in the container. The server logs appear in the terminal. Visiting ``http://<hostname>:10000/lab?token=<token>`` in a browser loads JupyterLab, where ``hostname`` is the name of the computer running docker and ``token`` is the secret token printed in the console. Docker destroys the container after notebook server exit, but any files written to ``~/work`` in the container remain intact on the host.::
|
||||||
|
|
||||||
docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan/work jupyter/datascience-notebook:9b06df75e445
|
docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan/work jupyter/datascience-notebook:33add21fab64
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
-----------------
|
-----------------
|
||||||
|
@@ -9,54 +9,54 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: docker-stacks latest\n"
|
"Project-Id-Version: docker-stacks latest\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-05-28 00:44+0000\n"
|
"POT-Creation-Date: 2021-05-23 19:28+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.8.0\n"
|
"Generated-By: Babel 2.9.1\n"
|
||||||
|
|
||||||
# 22f1bd46933144e092bf92e3af4c6f4f
|
# 22f1bd46933144e092bf92e3af4c6f4f
|
||||||
#: ../../index.rst:32
|
#: ../../index.rst:32 576c138188694b4588144d2113382333
|
||||||
msgid "User Guide"
|
msgid "User Guide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# f35d75046f8c42ae8cab58d826154823
|
# f35d75046f8c42ae8cab58d826154823
|
||||||
#: ../../index.rst:42
|
#: ../../index.rst:42 7dde2f42757d495c84bf9fd119eb73c2
|
||||||
msgid "Contributor Guide"
|
msgid "Contributor Guide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# a737afe726cd49c4986d75b7d74eeed3
|
# a737afe726cd49c4986d75b7d74eeed3
|
||||||
#: ../../index.rst:54
|
#: ../../index.rst:55 43fed73a9efa4c5f91dbf7ff04543b7c
|
||||||
msgid "Maintainer Guide"
|
msgid "Maintainer Guide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../index.rst:60
|
#: ../../index.rst:61
|
||||||
msgid "Jupyter Discourse Forum"
|
msgid "Jupyter Discourse Forum"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../index.rst:60
|
#: ../../index.rst:61
|
||||||
msgid "Stacks Issue Tracker"
|
msgid "Stacks Issue Tracker"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../index.rst:60
|
#: ../../index.rst:61
|
||||||
msgid "Jupyter Website"
|
msgid "Jupyter Website"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 9cd216fa91ef40bbb957373faaf93732
|
# 9cd216fa91ef40bbb957373faaf93732
|
||||||
#: ../../index.rst:60 774ed8768c6c4144ab19c7d7518d1932
|
#: ../../index.rst:61 6e7a598b9b444be1ab510d1beefde84b
|
||||||
msgid "Getting Help"
|
msgid "Getting Help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# a0aa0bcd999c4c5e96cc57fd77780f96
|
# a0aa0bcd999c4c5e96cc57fd77780f96
|
||||||
#: ../../index.rst:2 dbc22a0d800749c6a2d4628595fe57b3
|
#: ../../index.rst:2 e64ef36433044ceaa26545f1710ee198
|
||||||
msgid "Jupyter Docker Stacks"
|
msgid "Jupyter Docker Stacks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 5d06f458dc524214b2c97e865dd2dc81
|
# 5d06f458dc524214b2c97e865dd2dc81
|
||||||
#: ../../index.rst:4 8183867bf813431bb337b0594884f0fe
|
#: ../../index.rst:4 f7ec654b90d94a65ac368c9b2e2c265e
|
||||||
msgid ""
|
msgid ""
|
||||||
"Jupyter Docker Stacks are a set of ready-to-run Docker images containing "
|
"Jupyter Docker Stacks are a set of ready-to-run Docker images containing "
|
||||||
"Jupyter applications and interactive computing tools. You can use a stack"
|
"Jupyter applications and interactive computing tools. You can use a stack"
|
||||||
@@ -64,49 +64,47 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# c69f151c806e4cdf9bebda05b06c760e
|
# c69f151c806e4cdf9bebda05b06c760e
|
||||||
#: ../../index.rst:6 271a99cccdd3476b9b9696e295647c92
|
#: ../../index.rst:6 106d0414d337406286a4c0b5b747a409
|
||||||
msgid "Start a personal Jupyter Notebook server in a local Docker container"
|
msgid "Start a personal Jupyter Notebook server in a local Docker container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# b26271409ab743b2a349b3a8ca95233e
|
# b26271409ab743b2a349b3a8ca95233e
|
||||||
#: ../../index.rst:7 f01a318271d64f958c682ae241157bb2
|
#: ../../index.rst:7 0c98c03ffb9540debefba5617c2ba3d3
|
||||||
msgid "Run JupyterLab servers for a team using JupyterHub"
|
msgid "Run JupyterLab servers for a team using JupyterHub"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 4d60f4325fff4ffcad12703a4b9d6781
|
# 4d60f4325fff4ffcad12703a4b9d6781
|
||||||
#: ../../index.rst:8 8e3b6e8fe5e64b8a9523c0dd5b0369c9
|
#: ../../index.rst:8 67f908c6e29846eb9a0efe071d77a11e
|
||||||
msgid "Write your own project Dockerfile"
|
msgid "Write your own project Dockerfile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 78b0d31eb6e9462888eef92e6a84cdb7
|
# 78b0d31eb6e9462888eef92e6a84cdb7
|
||||||
#: ../../index.rst:11 60ec3253d09e40be8e6852a495248467
|
#: ../../index.rst:11 433cd0ea65984ca5b7f0bcd8d28effd5
|
||||||
msgid "Quick Start"
|
msgid "Quick Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# d4c0e237dbe74e0d9afbf2b2f0e219c8
|
#: ../../index.rst:13 d491156eb09d443db1d18aabe52df40f
|
||||||
#: ../../index.rst:13 38d5e9d5d0504acaa04b388f2ba031fc
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can try a `recent build of the jupyter/base-notebook image on "
|
"You can try a `recent build of the jupyter/base-notebook image on "
|
||||||
"mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-"
|
"mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-"
|
||||||
"stacks/master?filepath=README.ipynb>`_ by simply clicking the preceding "
|
"stacks/master?filepath=README.ipynb>`_ by simply clicking the preceding "
|
||||||
"link. Otherwise, the two examples below may help you get started if you "
|
"link. Otherwise, three examples below may help you get started if you "
|
||||||
"`have Docker installed <https://docs.docker.com/install/>`_, know "
|
"`have Docker installed <https://docs.docker.com/install/>`_, know "
|
||||||
":doc:`which Docker image <using/selecting>` you want to use, and want to "
|
":doc:`which Docker image <using/selecting>` you want to use, and want to "
|
||||||
"launch a single Jupyter Notebook server in a container."
|
"launch a single Jupyter Notebook server in a container."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 051ed23ef62e41058a7c889604f96035
|
# 051ed23ef62e41058a7c889604f96035
|
||||||
#: ../../index.rst:15 1214b6056fe449b2a8ce59a5cda97355
|
#: ../../index.rst:15 fd26a0de5e8e486881add75154edcd37
|
||||||
msgid ""
|
msgid ""
|
||||||
"The other pages in this documentation describe additional uses and "
|
"The other pages in this documentation describe additional uses and "
|
||||||
"features in detail."
|
"features in detail."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# e91f3b62a1b54166b966be6d7a4f061e
|
#: ../../index.rst:17 dbed24fb6a1a4be590b849e0e347154e
|
||||||
#: ../../index.rst:17 7b198609a6214812b7922cb12e057279
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"**Example 1:** This command pulls the ``jupyter/scipy-notebook`` image "
|
"**Example 1:** This command pulls the ``jupyter/scipy-notebook`` image "
|
||||||
"tagged ``17aba6048f44`` from Docker Hub if it is not already present on "
|
"tagged ``33add21fab64`` from Docker Hub if it is not already present on "
|
||||||
"the local host. It then starts a container running a Jupyter Notebook "
|
"the local host. It then starts a container running a Jupyter Notebook "
|
||||||
"server and exposes the server on host port 8888. The server logs appear "
|
"server and exposes the server on host port 8888. The server logs appear "
|
||||||
"in the terminal. Visiting ``http://<hostname>:8888/?token=<token>`` in a "
|
"in the terminal. Visiting ``http://<hostname>:8888/?token=<token>`` in a "
|
||||||
@@ -116,26 +114,25 @@ msgid ""
|
|||||||
"the notebook server exits.::"
|
"the notebook server exits.::"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# e04140e6cd8442f7a6f347d88224f591
|
#: ../../index.rst:21 0de344bca072499584a902837907650f
|
||||||
#: ../../index.rst:21 1dead775c2d544abb3362633fdb93523
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"**Example 2:** This command performs the same operations as **Example "
|
"**Example 2:** This command performs the same operations as **Example "
|
||||||
"1**, but it exposes the server on host port 10000 instead of port 8888. "
|
"1**, but it exposes the server on host port 10000 instead of port 8888. "
|
||||||
"Visiting ``http://<hostname>:10000/?token=<token>`` in a browser loads "
|
"Visiting ``http://<hostname>:10000/?token=<token>`` in a browser loads "
|
||||||
"JupyterLab, where ``hostname`` is the name of the computer running docker"
|
"Jupyter Notebook server, where ``hostname`` is the name of the computer "
|
||||||
" and ``token`` is the secret token printed in the console.::"
|
"running docker and ``token`` is the secret token printed in the "
|
||||||
|
"console.::"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 1c3229680cf44a5bb2d8450602bfcf7d
|
#: ../../index.rst:25 eb2311c06fd74b2891520ba11269813d
|
||||||
#: ../../index.rst:25 8e75264b16a14d9bb4a1b4a9dee7b0b5
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"**Example 3:** This command pulls the ``jupyter/datascience-notebook`` "
|
"**Example 3:** This command pulls the ``jupyter/datascience-notebook`` "
|
||||||
"image tagged ``9b06df75e445`` from Docker Hub if it is not already "
|
"image tagged ``33add21fab64`` from Docker Hub if it is not already "
|
||||||
"present on the local host. It then starts an *ephemeral* container "
|
"present on the local host. It then starts an *ephemeral* container "
|
||||||
"running a Jupyter Notebook server and exposes the server on host port "
|
"running a Jupyter Notebook server and exposes the server on host port "
|
||||||
"10000. The command mounts the current working directory on the host as "
|
"10000. The command mounts the current working directory on the host as "
|
||||||
"``/home/jovyan/work`` in the container. The server logs appear in the "
|
"``/home/jovyan/work`` in the container. The server logs appear in the "
|
||||||
"terminal. Visiting ``http://<hostname>:10000/?token=<token>`` in a "
|
"terminal. Visiting ``http://<hostname>:10000/lab?token=<token>`` in a "
|
||||||
"browser loads JupyterLab, where ``hostname`` is the name of the computer "
|
"browser loads JupyterLab, where ``hostname`` is the name of the computer "
|
||||||
"running docker and ``token`` is the secret token printed in the console. "
|
"running docker and ``token`` is the secret token printed in the console. "
|
||||||
"Docker destroys the container after notebook server exit, but any files "
|
"Docker destroys the container after notebook server exit, but any files "
|
||||||
@@ -143,10 +140,110 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# 3ac1a41d185844b1b43315a4cc74efc8
|
# 3ac1a41d185844b1b43315a4cc74efc8
|
||||||
#: ../../index.rst:30 e275f6561a2b408fa1202ebb59dfcd14
|
#: ../../index.rst:30 2783c472d597497bad6ceaec39e447f0
|
||||||
msgid "Table of Contents"
|
msgid "Table of Contents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "Jupyter Docker Stacks Issue Tracker"
|
#~ msgid "Jupyter Docker Stacks Issue Tracker"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
# e91f3b62a1b54166b966be6d7a4f061e
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "**Example 1:** This command pulls the"
|
||||||
|
#~ " ``jupyter/scipy-notebook`` image tagged "
|
||||||
|
#~ "``17aba6048f44`` from Docker Hub if it"
|
||||||
|
#~ " is not already present on the "
|
||||||
|
#~ "local host. It then starts a "
|
||||||
|
#~ "container running a Jupyter Notebook "
|
||||||
|
#~ "server and exposes the server on "
|
||||||
|
#~ "host port 8888. The server logs "
|
||||||
|
#~ "appear in the terminal. Visiting "
|
||||||
|
#~ "``http://<hostname>:8888/?token=<token>`` in a "
|
||||||
|
#~ "browser loads the Jupyter Notebook "
|
||||||
|
#~ "dashboard page, where ``hostname`` is "
|
||||||
|
#~ "the name of the computer running "
|
||||||
|
#~ "docker and ``token`` is the secret "
|
||||||
|
#~ "token printed in the console. The "
|
||||||
|
#~ "container remains intact for restart "
|
||||||
|
#~ "after the notebook server exits.::"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
# 1c3229680cf44a5bb2d8450602bfcf7d
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "**Example 3:** This command pulls the"
|
||||||
|
#~ " ``jupyter/datascience-notebook`` image tagged"
|
||||||
|
#~ " ``9b06df75e445`` from Docker Hub if "
|
||||||
|
#~ "it is not already present on the"
|
||||||
|
#~ " local host. It then starts an "
|
||||||
|
#~ "*ephemeral* container running a Jupyter "
|
||||||
|
#~ "Notebook server and exposes the server"
|
||||||
|
#~ " on host port 10000. The command "
|
||||||
|
#~ "mounts the current working directory on"
|
||||||
|
#~ " the host as ``/home/jovyan/work`` in "
|
||||||
|
#~ "the container. The server logs appear"
|
||||||
|
#~ " in the terminal. Visiting "
|
||||||
|
#~ "``http://<hostname>:10000/?token=<token>`` in a "
|
||||||
|
#~ "browser loads JupyterLab, where ``hostname``"
|
||||||
|
#~ " is the name of the computer "
|
||||||
|
#~ "running docker and ``token`` is the "
|
||||||
|
#~ "secret token printed in the console. "
|
||||||
|
#~ "Docker destroys the container after "
|
||||||
|
#~ "notebook server exit, but any files "
|
||||||
|
#~ "written to ``~/work`` in the container"
|
||||||
|
#~ " remain intact on the host.::"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
# d4c0e237dbe74e0d9afbf2b2f0e219c8
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "You can try a `recent build of "
|
||||||
|
#~ "the jupyter/base-notebook image on "
|
||||||
|
#~ "mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-"
|
||||||
|
#~ "stacks/master?filepath=README.ipynb>`_ by simply "
|
||||||
|
#~ "clicking the preceding link. Otherwise, "
|
||||||
|
#~ "the two examples below may help "
|
||||||
|
#~ "you get started if you `have "
|
||||||
|
#~ "Docker installed <https://docs.docker.com/install/>`_, "
|
||||||
|
#~ "know :doc:`which Docker image "
|
||||||
|
#~ "<using/selecting>` you want to use, and"
|
||||||
|
#~ " want to launch a single Jupyter "
|
||||||
|
#~ "Notebook server in a container."
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
# e04140e6cd8442f7a6f347d88224f591
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "**Example 2:** This command performs the"
|
||||||
|
#~ " same operations as **Example 1**, "
|
||||||
|
#~ "but it exposes the server on host"
|
||||||
|
#~ " port 10000 instead of port 8888. "
|
||||||
|
#~ "Visiting ``http://<hostname>:10000/?token=<token>`` in "
|
||||||
|
#~ "a browser loads JupyterLab, where "
|
||||||
|
#~ "``hostname`` is the name of the "
|
||||||
|
#~ "computer running docker and ``token`` is"
|
||||||
|
#~ " the secret token printed in the "
|
||||||
|
#~ "console.::"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "**Example 3:** This command pulls the"
|
||||||
|
#~ " ``jupyter/datascience-notebook`` image tagged"
|
||||||
|
#~ " ``33add21fab64`` from Docker Hub if "
|
||||||
|
#~ "it is not already present on the"
|
||||||
|
#~ " local host. It then starts an "
|
||||||
|
#~ "*ephemeral* container running a Jupyter "
|
||||||
|
#~ "Notebook server and exposes the server"
|
||||||
|
#~ " on host port 10000. The command "
|
||||||
|
#~ "mounts the current working directory on"
|
||||||
|
#~ " the host as ``/home/jovyan/work`` in "
|
||||||
|
#~ "the container. The server logs appear"
|
||||||
|
#~ " in the terminal. Visiting "
|
||||||
|
#~ "``http://<hostname>:10000/?token=<token>`` in a "
|
||||||
|
#~ "browser loads JupyterLab, where ``hostname``"
|
||||||
|
#~ " is the name of the computer "
|
||||||
|
#~ "running docker and ``token`` is the "
|
||||||
|
#~ "secret token printed in the console. "
|
||||||
|
#~ "Docker destroys the container after "
|
||||||
|
#~ "notebook server exit, but any files "
|
||||||
|
#~ "written to ``~/work`` in the container"
|
||||||
|
#~ " remain intact on the host.::"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@ Create a new Dockerfile like the one shown below.
|
|||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
# Start from a core stack version
|
# Start from a core stack version
|
||||||
FROM jupyter/datascience-notebook:9f9e5ca8fe5a
|
FROM jupyter/datascience-notebook:33add21fab64
|
||||||
# Install in the default python3 environment
|
# Install in the default python3 environment
|
||||||
RUN pip install 'ggplot==0.6.8'
|
RUN pip install 'ggplot==0.6.8'
|
||||||
```
|
```
|
||||||
@@ -46,7 +46,7 @@ packages desired. Next, create a new Dockerfile like the one shown below.
|
|||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
# Start from a core stack version
|
# Start from a core stack version
|
||||||
FROM jupyter/datascience-notebook:9f9e5ca8fe5a
|
FROM jupyter/datascience-notebook:33add21fab64
|
||||||
# Install from requirements.txt file
|
# Install from requirements.txt file
|
||||||
COPY --chown=${NB_UID}:${NB_GID} requirements.txt /tmp/
|
COPY --chown=${NB_UID}:${NB_GID} requirements.txt /tmp/
|
||||||
RUN pip install --requirement /tmp/requirements.txt && \
|
RUN pip install --requirement /tmp/requirements.txt && \
|
||||||
@@ -58,7 +58,7 @@ For conda, the Dockerfile is similar:
|
|||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
# Start from a core stack version
|
# Start from a core stack version
|
||||||
FROM jupyter/datascience-notebook:9f9e5ca8fe5a
|
FROM jupyter/datascience-notebook:33add21fab64
|
||||||
# Install from requirements.txt file
|
# Install from requirements.txt file
|
||||||
COPY --chown=${NB_UID}:${NB_GID} requirements.txt /tmp/
|
COPY --chown=${NB_UID}:${NB_GID} requirements.txt /tmp/
|
||||||
RUN conda install --yes --file /tmp/requirements.txt && \
|
RUN conda install --yes --file /tmp/requirements.txt && \
|
||||||
@@ -66,8 +66,7 @@ RUN conda install --yes --file /tmp/requirements.txt && \
|
|||||||
fix-permissions /home/$NB_USER
|
fix-permissions /home/$NB_USER
|
||||||
```
|
```
|
||||||
|
|
||||||
Ref:
|
Ref: [docker-stacks/commit/79169618d571506304934a7b29039085e77db78c](https://github.com/jupyter/docker-stacks/commit/79169618d571506304934a7b29039085e77db78c#commitcomment-15960081)
|
||||||
[docker-stacks/commit/79169618d571506304934a7b29039085e77db78c](https://github.com/jupyter/docker-stacks/commit/79169618d571506304934a7b29039085e77db78c#commitcomment-15960081)
|
|
||||||
|
|
||||||
## Add a Python 2.x environment
|
## Add a Python 2.x environment
|
||||||
|
|
||||||
@@ -95,8 +94,7 @@ $CONDA_DIR/envs/python2/bin/kernda -o -y /usr/local/share/jupyter/kernels/python
|
|||||||
USER $NB_USER
|
USER $NB_USER
|
||||||
```
|
```
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/440>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/440](https://github.com/jupyter/docker-stacks/issues/440)
|
|
||||||
|
|
||||||
## Add a Python 3.x environment
|
## Add a Python 3.x environment
|
||||||
|
|
||||||
@@ -142,10 +140,10 @@ ENV PATH $CONDA_DIR/envs/${conda_env}/bin:$PATH
|
|||||||
## Run JupyterLab
|
## Run JupyterLab
|
||||||
|
|
||||||
JupyterLab is preinstalled as a notebook extension starting in tag
|
JupyterLab is preinstalled as a notebook extension starting in tag
|
||||||
[c33a7dc0eece](https://github.com/jupyter/docker-stacks/wiki/Docker-build-history).
|
[c33a7dc0eece](https://github.com/jupyter/docker-stacks/pull/355).
|
||||||
|
|
||||||
Run jupyterlab using a command such as
|
Run jupyterlab using a command such as
|
||||||
`docker run -it --rm -p 8888:8888 jupyter/datascience-notebook start.sh jupyter lab`
|
`docker run -it --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/datascience-notebook`
|
||||||
|
|
||||||
## Dask JupyterLab Extension
|
## Dask JupyterLab Extension
|
||||||
|
|
||||||
@@ -177,17 +175,15 @@ Once built, run using the command:
|
|||||||
docker run -it --rm -p 8888:8888 -p 8787:8787 jupyter/scipy-dasklabextension:latest
|
docker run -it --rm -p 8888:8888 -p 8787:8787 jupyter/scipy-dasklabextension:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/999>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/999](https://github.com/jupyter/docker-stacks/issues/999)
|
|
||||||
|
|
||||||
## Let's Encrypt a Notebook server
|
## Let's Encrypt a Notebook server
|
||||||
|
|
||||||
See the README for the simple automation here
|
See the README for the simple automation here
|
||||||
[https://github.com/jupyter/docker-stacks/tree/master/examples/make-deploy](https://github.com/jupyter/docker-stacks/tree/master/examples/make-deploy)
|
<https://github.com/jupyter/docker-stacks/tree/master/examples/make-deploy>
|
||||||
which includes steps for requesting and renewing a Let's Encrypt certificate.
|
which includes steps for requesting and renewing a Let's Encrypt certificate.
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/78>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/78](https://github.com/jupyter/docker-stacks/issues/78)
|
|
||||||
|
|
||||||
## Slideshows with Jupyter and RISE
|
## Slideshows with Jupyter and RISE
|
||||||
|
|
||||||
@@ -237,8 +233,7 @@ permission errors or connection errors when you create a notebook, be sure that
|
|||||||
UID of the `jovyan` user on container startup using the `-e NB_UID` option described in the
|
UID of the `jovyan` user on container startup using the `-e NB_UID` option described in the
|
||||||
[Common Features, Docker Options section](../using/common.html#Docker-Options)
|
[Common Features, Docker Options section](../using/common.html#Docker-Options)
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/199>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/199](https://github.com/jupyter/docker-stacks/issues/199)
|
|
||||||
|
|
||||||
## Manpage installation
|
## Manpage installation
|
||||||
|
|
||||||
@@ -312,14 +307,13 @@ To use a specific version of JupyterHub, the version of `jupyterhub` in your ima
|
|||||||
version in the Hub itself.
|
version in the Hub itself.
|
||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
FROM jupyter/base-notebook:5ded1de07260
|
FROM jupyter/base-notebook:33add21fab64
|
||||||
RUN pip install jupyterhub==0.8.0b1
|
RUN pip install jupyterhub==0.8.0b1
|
||||||
```
|
```
|
||||||
|
|
||||||
Credit: [MinRK](https://github.com/jupyter/docker-stacks/issues/423#issuecomment-322767742)
|
Credit: [MinRK](https://github.com/jupyter/docker-stacks/issues/423#issuecomment-322767742)
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/177>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/177](https://github.com/jupyter/docker-stacks/issues/177)
|
|
||||||
|
|
||||||
## Spark
|
## Spark
|
||||||
|
|
||||||
@@ -369,8 +363,7 @@ hadoopConf.set("fs.s3.awsSecretAccessKey", mySecretKey)
|
|||||||
df = sqlContext.read.parquet("s3://myBucket/myKey")
|
df = sqlContext.read.parquet("s3://myBucket/myKey")
|
||||||
```
|
```
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/127>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/127](https://github.com/jupyter/docker-stacks/issues/127)
|
|
||||||
|
|
||||||
### Using Local Spark JARs
|
### Using Local Spark JARs
|
||||||
|
|
||||||
@@ -388,8 +381,7 @@ directKafkaStream.pprint()
|
|||||||
ssc.start()
|
ssc.start()
|
||||||
```
|
```
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/154>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/154](https://github.com/jupyter/docker-stacks/issues/154)
|
|
||||||
|
|
||||||
### Using spark-packages.org
|
### Using spark-packages.org
|
||||||
|
|
||||||
@@ -398,8 +390,7 @@ If you'd like to use packages from [spark-packages.org](https://spark-packages.o
|
|||||||
for an example of how to specify the package identifier in the environment before creating a
|
for an example of how to specify the package identifier in the environment before creating a
|
||||||
SparkContext.
|
SparkContext.
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/43>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/43](https://github.com/jupyter/docker-stacks/issues/43)
|
|
||||||
|
|
||||||
### Use jupyter/all-spark-notebooks with an existing Spark/YARN cluster
|
### Use jupyter/all-spark-notebooks with an existing Spark/YARN cluster
|
||||||
|
|
||||||
@@ -478,13 +469,13 @@ convenient to launch the server without a password or token. In this case, you s
|
|||||||
For jupyterlab:
|
For jupyterlab:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run jupyter/base-notebook:6d2a05346196 start.sh jupyter lab --LabApp.token=''
|
docker run jupyter/base-notebook:33add21fab64 start.sh jupyter lab --LabApp.token=''
|
||||||
```
|
```
|
||||||
|
|
||||||
For jupyter classic:
|
For jupyter classic:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run jupyter/base-notebook:6d2a05346196 start.sh jupyter notebook --NotebookApp.token=''
|
docker run jupyter/base-notebook:33add21fab64 start.sh jupyter notebook --NotebookApp.token=''
|
||||||
```
|
```
|
||||||
|
|
||||||
## Enable nbextension spellchecker for markdown (or any other nbextension)
|
## Enable nbextension spellchecker for markdown (or any other nbextension)
|
||||||
@@ -503,8 +494,7 @@ RUN pip install jupyter_contrib_nbextensions && \
|
|||||||
jupyter nbextension enable spellchecker/main --user
|
jupyter nbextension enable spellchecker/main --user
|
||||||
```
|
```
|
||||||
|
|
||||||
Ref:
|
Ref: <https://github.com/jupyter/docker-stacks/issues/675>
|
||||||
[https://github.com/jupyter/docker-stacks/issues/675](https://github.com/jupyter/docker-stacks/issues/675)
|
|
||||||
|
|
||||||
## Enable auto-sklearn notebooks
|
## Enable auto-sklearn notebooks
|
||||||
|
|
||||||
|
@@ -11,10 +11,10 @@ This section provides details about the second.
|
|||||||
|
|
||||||
You can launch a local Docker container from the Jupyter Docker Stacks using the [Docker command line interface](https://docs.docker.com/engine/reference/commandline/cli/). There are numerous ways to configure containers using the CLI. The following are some common patterns.
|
You can launch a local Docker container from the Jupyter Docker Stacks using the [Docker command line interface](https://docs.docker.com/engine/reference/commandline/cli/). There are numerous ways to configure containers using the CLI. The following are some common patterns.
|
||||||
|
|
||||||
**Example 1** This command pulls the `jupyter/scipy-notebook` image tagged `2c80cf3537ca` from Docker Hub if it is not already present on the local host. It then starts a container running a Jupyter Notebook server and exposes the server on host port 8888. The server logs appear in the terminal and include a URL to the notebook server.
|
**Example 1** This command pulls the `jupyter/scipy-notebook` image tagged `33add21fab64` from Docker Hub if it is not already present on the local host. It then starts a container running a Jupyter Notebook server and exposes the server on host port 8888. The server logs appear in the terminal and include a URL to the notebook server.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run -p 8888:8888 jupyter/scipy-notebook:2c80cf3537ca
|
$ docker run -p 8888:8888 jupyter/scipy-notebook:33add21fab64
|
||||||
|
|
||||||
Executing the command: jupyter notebook
|
Executing the command: jupyter notebook
|
||||||
[I 15:33:00.567 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
|
[I 15:33:00.567 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
|
||||||
@@ -52,10 +52,10 @@ $ docker rm d67fe77f1a84
|
|||||||
d67fe77f1a84
|
d67fe77f1a84
|
||||||
```
|
```
|
||||||
|
|
||||||
**Example 2** This command pulls the `jupyter/r-notebook` image tagged `e5c5a7d3e52d` from Docker Hub if it is not already present on the local host. It then starts a container running a Jupyter Notebook server and exposes the server on host port 10000. The server logs appear in the terminal and include a URL to the notebook server, but with the internal container port (8888) instead of the the correct host port (10000).
|
**Example 2** This command pulls the `jupyter/r-notebook` image tagged `33add21fab64` from Docker Hub if it is not already present on the local host. It then starts a container running a Jupyter Notebook server and exposes the server on host port 10000. The server logs appear in the terminal and include a URL to the notebook server, but with the internal container port (8888) instead of the the correct host port (10000).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --rm -p 10000:8888 -v "$PWD":/home/jovyan/work jupyter/r-notebook:e5c5a7d3e52d
|
$ docker run --rm -p 10000:8888 -v "$PWD":/home/jovyan/work jupyter/r-notebook:33add21fab64
|
||||||
|
|
||||||
Executing the command: jupyter notebook
|
Executing the command: jupyter notebook
|
||||||
[I 19:31:09.573 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
|
[I 19:31:09.573 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
|
||||||
|
@@ -31,6 +31,7 @@ and versioning strategy.
|
|||||||
- [Miniforge](https://github.com/conda-forge/miniforge) Python 3.x in `/opt/conda` with two package managers
|
- [Miniforge](https://github.com/conda-forge/miniforge) Python 3.x in `/opt/conda` with two package managers
|
||||||
- [conda](https://github.com/conda/conda): "cross-platform, language-agnostic binary package manager".
|
- [conda](https://github.com/conda/conda): "cross-platform, language-agnostic binary package manager".
|
||||||
- [mamba](https://github.com/mamba-org/mamba): "reimplementation of the conda package manager in C++".
|
- [mamba](https://github.com/mamba-org/mamba): "reimplementation of the conda package manager in C++".
|
||||||
|
- `notebook`, `jupyterhub` and `jupyterlab` packages
|
||||||
- No preinstalled scientific computing packages
|
- No preinstalled scientific computing packages
|
||||||
- Unprivileged user `jovyan` (`uid=1000`, configurable, see options) in group `users` (`gid=100`)
|
- Unprivileged user `jovyan` (`uid=1000`, configurable, see options) in group `users` (`gid=100`)
|
||||||
with ownership over the `/home/jovyan` and `/opt/conda` paths
|
with ownership over the `/home/jovyan` and `/opt/conda` paths
|
||||||
@@ -52,7 +53,7 @@ and versioning strategy.
|
|||||||
- [TeX Live](https://www.tug.org/texlive/) for notebook document conversion
|
- [TeX Live](https://www.tug.org/texlive/) for notebook document conversion
|
||||||
- [git](https://git-scm.com/),
|
- [git](https://git-scm.com/),
|
||||||
[vi](https://www.vim.org) (actually `vim-tiny`),
|
[vi](https://www.vim.org) (actually `vim-tiny`),
|
||||||
[nano](https://www.nano-editor.org/) (actually `nano-tiny`), tzdata, and unzip
|
[nano](https://www.nano-editor.org/) (actually `nano-tiny`), `tzdata`, and `unzip`
|
||||||
|
|
||||||
### jupyter/r-notebook
|
### jupyter/r-notebook
|
||||||
|
|
||||||
@@ -65,17 +66,25 @@ and versioning strategy.
|
|||||||
- Everything in `jupyter/minimal-notebook` and its ancestor images
|
- Everything in `jupyter/minimal-notebook` and its ancestor images
|
||||||
- The [R](https://www.r-project.org/) interpreter and base environment
|
- The [R](https://www.r-project.org/) interpreter and base environment
|
||||||
- [IRKernel](https://irkernel.github.io/) to support R code in Jupyter notebooks
|
- [IRKernel](https://irkernel.github.io/) to support R code in Jupyter notebooks
|
||||||
- [tidyverse](https://www.tidyverse.org/) packages from
|
- [tidyverse](https://www.tidyverse.org/)
|
||||||
[conda-forge](https://conda-forge.org/feedstock-outputs/index.html)
|
packages from [conda-forge](https://conda-forge.org/feedstock-outputs/index.html)
|
||||||
- [devtools](https://cran.r-project.org/web/packages/devtools/index.html),
|
- [caret](https://topepo.github.io/caret/index.html),
|
||||||
[shiny](https://shiny.rstudio.com/), [rmarkdown](https://rmarkdown.rstudio.com),
|
[crayon](https://cran.r-project.org/web/packages/crayon/index.html),
|
||||||
[forecast](https://cran.r-project.org/web/packages/forecast/forecast.pdf),
|
[devtools](https://cran.r-project.org/web/packages/devtools/index.html),
|
||||||
[rsqlite](https://cran.r-project.org/web/packages/RSQLite/index.html),
|
[forecast](https://cran.r-project.org/web/packages/forecast/index.html),
|
||||||
|
[hexbin](https://cran.r-project.org/web/packages/hexbin/index.html),
|
||||||
|
[htmltools](https://cran.r-project.org/web/packages/htmltools/index.html),
|
||||||
|
[htmlwidgets](https://www.htmlwidgets.org),
|
||||||
[nycflights13](https://cran.r-project.org/web/packages/nycflights13/index.html),
|
[nycflights13](https://cran.r-project.org/web/packages/nycflights13/index.html),
|
||||||
[caret](https://topepo.github.io/caret/index.html), [tidymodels](https://www.tidymodels.org/),
|
[randomforest](https://cran.r-project.org/web/packages/randomForest/index.html),
|
||||||
[rcurl](https://cran.r-project.org/web/packages/RCurl/index.html), and
|
[rcurl](https://cran.r-project.org/web/packages/RCurl/index.html),
|
||||||
[randomforest](https://cran.r-project.org/web/packages/randomForest/randomForest.pdf) packages
|
[rmarkdown](https://rmarkdown.rstudio.com),
|
||||||
from [conda-forge](https://conda-forge.org/feedstock-outputs/index.html)
|
[rodbc](https://cran.r-project.org/web/packages/RODBC/index.html),
|
||||||
|
[rsqlite](https://cran.r-project.org/web/packages/RSQLite/index.html),
|
||||||
|
[shiny](https://shiny.rstudio.com/),
|
||||||
|
[tidymodels](https://www.tidymodels.org/),
|
||||||
|
[unixodbc](http://www.unixodbc.org)
|
||||||
|
packages from [conda-forge](https://conda-forge.org/feedstock-outputs/index.html)
|
||||||
|
|
||||||
### jupyter/scipy-notebook
|
### jupyter/scipy-notebook
|
||||||
|
|
||||||
@@ -86,25 +95,38 @@ and versioning strategy.
|
|||||||
`jupyter/scipy-notebook` includes popular packages from the scientific Python ecosystem.
|
`jupyter/scipy-notebook` includes popular packages from the scientific Python ecosystem.
|
||||||
|
|
||||||
- Everything in `jupyter/minimal-notebook` and its ancestor images
|
- Everything in `jupyter/minimal-notebook` and its ancestor images
|
||||||
- [dask](https://dask.org/), [pandas](https://pandas.pydata.org/),
|
- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/),
|
||||||
[numexpr](https://github.com/pydata/numexpr), [matplotlib](https://matplotlib.org/),
|
[bokeh](https://docs.bokeh.org/en/latest/),
|
||||||
[scipy](https://www.scipy.org/), [seaborn](https://seaborn.pydata.org/),
|
[bottleneck](https://bottleneck.readthedocs.io/en/latest/),
|
||||||
[scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org),
|
|
||||||
[sympy](https://www.sympy.org/en/index.html), [cython](https://cython.org),
|
|
||||||
[patsy](https://patsy.readthedocs.io/en/latest/),
|
|
||||||
[statsmodel](https://www.statsmodels.org/stable/index.html),
|
|
||||||
[cloudpickle](https://github.com/cloudpipe/cloudpickle),
|
[cloudpickle](https://github.com/cloudpipe/cloudpickle),
|
||||||
[dill](https://pypi.org/project/dill/), [numba](https://numba.pydata.org/),
|
[conda-forge::blas=\*=openblas](https://www.openblas.net),
|
||||||
[bokeh](https://docs.bokeh.org/en/latest/), [sqlalchemy](https://www.sqlalchemy.org/),
|
[cython](https://cython.org),
|
||||||
[hdf5](https://www.h5py.org), [altair](https://altair-viz.github.io),
|
[dask](https://dask.org/),
|
||||||
[beautifulsoup](https://www.crummy.com/software/BeautifulSoup/),
|
[dill](https://pypi.org/project/dill/),
|
||||||
|
[h5py](https://www.h5py.org),
|
||||||
|
[matplotlib-base](https://matplotlib.org/),
|
||||||
|
[numba](https://numba.pydata.org/),
|
||||||
|
[numexpr](https://github.com/pydata/numexpr),
|
||||||
|
[pandas](https://pandas.pydata.org/),
|
||||||
|
[patsy](https://patsy.readthedocs.io/en/latest/),
|
||||||
[protobuf](https://developers.google.com/protocol-buffers/docs/pythontutorial),
|
[protobuf](https://developers.google.com/protocol-buffers/docs/pythontutorial),
|
||||||
[xlrd](https://www.python-excel.org), [bottleneck](https://bottleneck.readthedocs.io/en/latest/),
|
[pytables](https://www.pytables.org/),
|
||||||
and [pytables](https://www.pytables.org/) packages
|
[scikit-image](https://scikit-image.org),
|
||||||
- [ipywidgets](https://ipywidgets.readthedocs.io/en/stable/) and
|
[scikit-learn](https://scikit-learn.org/stable/),
|
||||||
[ipympl](https://github.com/matplotlib/ipympl) for interactive visualizations and
|
[scipy](https://www.scipy.org/),
|
||||||
plots in Python notebooks
|
[seaborn](https://seaborn.pydata.org/),
|
||||||
- [Facets](https://github.com/PAIR-code/facets) for visualizing machine learning datasets
|
[sqlalchemy](https://www.sqlalchemy.org/),
|
||||||
|
[statsmodel](https://www.statsmodels.org/stable/index.html),
|
||||||
|
[sympy](https://www.sympy.org/en/index.html),
|
||||||
|
[vincent](https://vincent.readthedocs.io/en/latest/),
|
||||||
|
[widgetsnbextension](https://ipywidgets.readthedocs.io/en/latest/user_install.html#installing-in-classic-jupyter-notebook),
|
||||||
|
[xlrd](https://www.python-excel.org)
|
||||||
|
packages
|
||||||
|
- [ipympl](https://github.com/matplotlib/ipympl) and
|
||||||
|
[ipywidgets](https://ipywidgets.readthedocs.io/en/stable/)
|
||||||
|
for interactive visualizations and plots in Python notebooks
|
||||||
|
- [Facets](https://github.com/PAIR-code/facets)
|
||||||
|
for visualizing machine learning datasets
|
||||||
|
|
||||||
### jupyter/tensorflow-notebook
|
### jupyter/tensorflow-notebook
|
||||||
|
|
||||||
@@ -115,8 +137,7 @@ and versioning strategy.
|
|||||||
`jupyter/tensorflow-notebook` includes popular Python deep learning libraries.
|
`jupyter/tensorflow-notebook` includes popular Python deep learning libraries.
|
||||||
|
|
||||||
- Everything in `jupyter/scipy-notebook` and its ancestor images
|
- Everything in `jupyter/scipy-notebook` and its ancestor images
|
||||||
- [tensorflow](https://www.tensorflow.org/) and [keras](https://keras.io/) machine learning
|
- [tensorflow](https://www.tensorflow.org/) machine learning library
|
||||||
libraries
|
|
||||||
|
|
||||||
### jupyter/datascience-notebook
|
### jupyter/datascience-notebook
|
||||||
|
|
||||||
@@ -129,10 +150,13 @@ communities.
|
|||||||
|
|
||||||
- Everything in the `jupyter/scipy-notebook` and `jupyter/r-notebook` images, and their ancestor
|
- Everything in the `jupyter/scipy-notebook` and `jupyter/r-notebook` images, and their ancestor
|
||||||
images
|
images
|
||||||
|
- [rpy2](https://rpy2.github.io/doc/latest/html/index.html) package
|
||||||
- The [Julia](https://julialang.org/) compiler and base environment
|
- The [Julia](https://julialang.org/) compiler and base environment
|
||||||
- [IJulia](https://github.com/JuliaLang/IJulia.jl) to support Julia code in Jupyter notebooks
|
- [IJulia](https://github.com/JuliaLang/IJulia.jl) to support Julia code in Jupyter notebooks
|
||||||
- [HDF5](https://github.com/JuliaIO/HDF5.jl), [Gadfly](https://gadflyjl.org/stable/), and
|
- [HDF5](https://github.com/JuliaIO/HDF5.jl),
|
||||||
[RDatasets](https://github.com/JuliaStats/RDatasets.jl) packages
|
[Gadfly](https://gadflyjl.org/stable/),
|
||||||
|
[RDatasets](https://github.com/JuliaStats/RDatasets.jl)
|
||||||
|
packages
|
||||||
|
|
||||||
### jupyter/pyspark-notebook
|
### jupyter/pyspark-notebook
|
||||||
|
|
||||||
@@ -144,6 +168,7 @@ communities.
|
|||||||
|
|
||||||
- Everything in `jupyter/scipy-notebook` and its ancestor images
|
- Everything in `jupyter/scipy-notebook` and its ancestor images
|
||||||
- [Apache Spark](https://spark.apache.org/) with Hadoop binaries
|
- [Apache Spark](https://spark.apache.org/) with Hadoop binaries
|
||||||
|
- [pyarrow](https://arrow.apache.org/docs/python/) library
|
||||||
|
|
||||||
### jupyter/all-spark-notebook
|
### jupyter/all-spark-notebook
|
||||||
|
|
||||||
@@ -155,11 +180,11 @@ communities.
|
|||||||
|
|
||||||
- Everything in `jupyter/pyspark-notebook` and its ancestor images
|
- Everything in `jupyter/pyspark-notebook` and its ancestor images
|
||||||
- [IRKernel](https://irkernel.github.io/) to support R code in Jupyter notebooks
|
- [IRKernel](https://irkernel.github.io/) to support R code in Jupyter notebooks
|
||||||
- [Apache Toree](https://toree.apache.org/) and
|
- [rcurl](https://cran.r-project.org/web/packages/RCurl/index.html),
|
||||||
[spylon-kernel](https://github.com/vericast/spylon-kernel) to support Scala code in Jupyter
|
[sparklyr](https://spark.rstudio.com),
|
||||||
notebooks
|
[ggplot2](https://ggplot2.tidyverse.org)
|
||||||
- [ggplot2](https://ggplot2.tidyverse.org), [sparklyr](https://spark.rstudio.com), and
|
packages
|
||||||
[rcurl](https://cran.r-project.org/web/packages/RCurl/index.html) packages
|
- [spylon-kernel](https://github.com/vericast/spylon-kernel) to support Scala code in Jupyter notebooks
|
||||||
|
|
||||||
### Image Relationships
|
### Image Relationships
|
||||||
|
|
||||||
@@ -173,7 +198,7 @@ diagram](../images/inherit.svg)](http://interactive.blockdiag.com/?compression=d
|
|||||||
### Builds
|
### Builds
|
||||||
|
|
||||||
Pull requests to the `jupyter/docker-stacks` repository trigger builds of all images on GitHub
|
Pull requests to the `jupyter/docker-stacks` repository trigger builds of all images on GitHub
|
||||||
Actions. These images are for testing purposes only and are not saved for use. When pull requests
|
Actions. These images are for testing purposes only and are not saved for further use. When pull requests
|
||||||
merge to master, all images rebuild on Docker Hub and become available to `docker pull` from
|
merge to master, all images rebuild on Docker Hub and become available to `docker pull` from
|
||||||
Docker Hub.
|
Docker Hub.
|
||||||
|
|
||||||
@@ -184,15 +209,13 @@ The `latest` tag in each Docker Hub repository tracks the master branch `HEAD` r
|
|||||||
|
|
||||||
Every image on Docker Hub also receives a 12-character tag which corresponds with the git commit SHA
|
Every image on Docker Hub also receives a 12-character tag which corresponds with the git commit SHA
|
||||||
that triggered the image build. You can inspect the state of the `jupyter/docker-stacks` repository
|
that triggered the image build. You can inspect the state of the `jupyter/docker-stacks` repository
|
||||||
for that commit to review the definition of the image (e.g., images with tag 7c45ec67c8e7 were built
|
for that commit to review the definition of the image (e.g., images with tag `33add21fab64` were built
|
||||||
from
|
from <https://github.com/jupyter/docker-stacks/tree/33add21fab64>.
|
||||||
[https://github.com/jupyter/docker-stacks/tree/7c45ec67c8e7](https://github.com/jupyter/docker-stacks/tree/7c45ec67c8e7)).
|
|
||||||
|
|
||||||
You must refer to git-SHA image tags when stability and reproducibility are important in your work.
|
You must refer to git-SHA image tags when stability and reproducibility are important in your work.
|
||||||
(e.g. `FROM jupyter/scipy-notebook:7c45ec67c8e7`,
|
(e.g. `FROM jupyter/scipy-notebook:33add21fab64`, `docker run -it --rm jupyter/scipy-notebook:33add21fab64`).
|
||||||
`docker run -it --rm jupyter/scipy-notebook:7c45ec67c8e7`). You should only use `latest` when a
|
You should only use `latest` when a one-off container instance is acceptable
|
||||||
one-off container instance is acceptable (e.g., you want to briefly try a new library in a
|
(e.g., you want to briefly try a new library in a notebook).
|
||||||
notebook).
|
|
||||||
|
|
||||||
## Community Stacks
|
## Community Stacks
|
||||||
|
|
||||||
|
@@ -19,7 +19,7 @@ You can build a `pyspark-notebook` image (and also the downstream `all-spark-not
|
|||||||
- Spark can run with different OpenJDK versions.
|
- Spark can run with different OpenJDK versions.
|
||||||
- `openjdk_version`: The version of (JRE headless) the OpenJDK distribution (`11`), see [Ubuntu packages](https://packages.ubuntu.com/search?keywords=openjdk).
|
- `openjdk_version`: The version of (JRE headless) the OpenJDK distribution (`11`), see [Ubuntu packages](https://packages.ubuntu.com/search?keywords=openjdk).
|
||||||
|
|
||||||
For example here is how to build a `pyspark-notebook` image with Spark `2.4.6`, Hadoop `2.7` and OpenJDK `8`.
|
For example here is how to build a `pyspark-notebook` image with Spark `2.4.7`, Hadoop `2.7` and OpenJDK `8`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# From the root of the project
|
# From the root of the project
|
||||||
@@ -141,7 +141,7 @@ Connection to Spark Cluster on **[Standalone Mode](https://spark.apache.org/docs
|
|||||||
|
|
||||||
##### Standalone Mode in Python
|
##### Standalone Mode in Python
|
||||||
|
|
||||||
The **same Python version** need to be used on the notebook (where the driver is located) and on the Spark workers.
|
The **same Python version** needs to be used on the notebook (where the driver is located) and on the Spark workers.
|
||||||
The python version used at driver and worker side can be adjusted by setting the environment variables `PYSPARK_PYTHON` and / or `PYSPARK_DRIVER_PYTHON`, see [Spark Configuration][spark-conf] for more information.
|
The python version used at driver and worker side can be adjusted by setting the environment variables `PYSPARK_PYTHON` and / or `PYSPARK_DRIVER_PYTHON`, see [Spark Configuration][spark-conf] for more information.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@@ -41,7 +41,7 @@ notebook/down.sh
|
|||||||
You can customize the docker-stack notebook image to deploy by modifying the `notebook/Dockerfile`. For example, you can build and deploy a `jupyter/all-spark-notebook` by modifying the Dockerfile like so:
|
You can customize the docker-stack notebook image to deploy by modifying the `notebook/Dockerfile`. For example, you can build and deploy a `jupyter/all-spark-notebook` by modifying the Dockerfile like so:
|
||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
FROM jupyter/all-spark-notebook:55d5ca6be183
|
FROM jupyter/all-spark-notebook:33add21fab64
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
# Distributed under the terms of the Modified BSD License.
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
# Pick your favorite docker-stacks image
|
# Pick your favorite docker-stacks image
|
||||||
FROM jupyter/minimal-notebook:55d5ca6be183
|
FROM jupyter/minimal-notebook:33add21fab64
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
# Distributed under the terms of the Modified BSD License.
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
# Pick your favorite docker-stacks image
|
# Pick your favorite docker-stacks image
|
||||||
FROM jupyter/minimal-notebook:2d125a7161b5
|
FROM jupyter/minimal-notebook:33add21fab64
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
|
@@ -23,7 +23,7 @@ RUN ln -s /bin/tar /bin/gtar
|
|||||||
|
|
||||||
USER $NB_UID
|
USER $NB_UID
|
||||||
|
|
||||||
# R packages
|
# R packages including IRKernel which gets installed globally.
|
||||||
RUN conda install --quiet --yes \
|
RUN conda install --quiet --yes \
|
||||||
'r-base=4.0.5' \
|
'r-base=4.0.5' \
|
||||||
'r-caret=6.*' \
|
'r-caret=6.*' \
|
||||||
@@ -41,9 +41,9 @@ RUN conda install --quiet --yes \
|
|||||||
'r-rodbc=1.3*' \
|
'r-rodbc=1.3*' \
|
||||||
'r-rsqlite=2.2*' \
|
'r-rsqlite=2.2*' \
|
||||||
'r-shiny=1.6*' \
|
'r-shiny=1.6*' \
|
||||||
|
'r-tidymodels=0.1*' \
|
||||||
'r-tidyverse=1.3*' \
|
'r-tidyverse=1.3*' \
|
||||||
'unixodbc=2.3.*' \
|
'unixodbc=2.3.*' && \
|
||||||
'r-tidymodels=0.1*' && \
|
|
||||||
conda clean --all -f -y && \
|
conda clean --all -f -y && \
|
||||||
fix-permissions "${CONDA_DIR}" && \
|
fix-permissions "${CONDA_DIR}" && \
|
||||||
fix-permissions "/home/${NB_USER}"
|
fix-permissions "/home/${NB_USER}"
|
||||||
|
@@ -18,16 +18,16 @@ USER $NB_UID
|
|||||||
RUN conda install --quiet --yes \
|
RUN conda install --quiet --yes \
|
||||||
'altair=4.1.*' \
|
'altair=4.1.*' \
|
||||||
'beautifulsoup4=4.9.*' \
|
'beautifulsoup4=4.9.*' \
|
||||||
'conda-forge::blas=*=openblas' \
|
|
||||||
'bokeh=2.3.*' \
|
'bokeh=2.3.*' \
|
||||||
'bottleneck=1.3.*' \
|
'bottleneck=1.3.*' \
|
||||||
'cloudpickle=1.6.*' \
|
'cloudpickle=1.6.*' \
|
||||||
|
'conda-forge::blas=*=openblas' \
|
||||||
'cython=0.29.*' \
|
'cython=0.29.*' \
|
||||||
'dask=2021.5.*' \
|
'dask=2021.5.*' \
|
||||||
'dill=0.3.*' \
|
'dill=0.3.*' \
|
||||||
'h5py=3.2.*' \
|
'h5py=3.2.*' \
|
||||||
'ipywidgets=7.6.*' \
|
|
||||||
'ipympl=0.7.*'\
|
'ipympl=0.7.*'\
|
||||||
|
'ipywidgets=7.6.*' \
|
||||||
'matplotlib-base=3.4.*' \
|
'matplotlib-base=3.4.*' \
|
||||||
'numba=0.53.*' \
|
'numba=0.53.*' \
|
||||||
'numexpr=2.7.*' \
|
'numexpr=2.7.*' \
|
||||||
|
Reference in New Issue
Block a user