[PYTHON] Einfache Installation und Start von Jupyter Notebook mit Docker (unterstützt auch nbextensions und Scala)

Wie der Titel schon sagt, handelt es sich um ein Arbeitsprotokoll zur einfachen Installation und Verwendung von Jupyter Notebook mit Docker. Stellen Sie Scala auch auf dem Jupyter-Notizbuch zur Verfügung.

Es wird davon ausgegangen, dass Docker bereits installiert ist.

Bereiten Sie die folgende Docker-Datei vor. Notieren Sie sich alle Python-Pakete, die Sie möglicherweise verwenden.

Dockerfile


FROM centos:7

RUN yum install -y python3 java-11-openjdk
RUN pip3 install jupyter jupyter-contrib-nbextensions jupyter_nbextensions_configurator numpy pandas matplotlib scikit-learn mlxtend boto3

RUN jupyter contrib nbextension install

# Jupyter-Scala Installation
WORKDIR /install
ENV SCALA_VERSION=2.13.1
ENV ALMOND_VERSION=0.8.2
RUN curl -Lo coursier https://git.io/coursier-cli
RUN chmod +x coursier
RUN ./coursier bootstrap -r jitpack -i user -I user:sh.almond:scala-kernel-api_$SCALA_VERSION:$ALMOND_VERSION sh.almond:scala-kernel_$SCALA_VERSION:$ALMOND_VERSION -o almond
RUN ./almond --install

WORKDIR /work

CMD jupyter notebook --ip='*' --no-browser --allow-root --NotebookApp.token=''

Die Python-Pakete "jupyter-contrib-nbextensions", "jupyter_nbextensions_configurator" und die nachfolgende "jupyter Contrib nbextension install" dienen zur Verwendung von nbextensions.

Auf der offiziellen Seite unten finden Sie Informationen zur Installation von Jupyter-Scala. Installation · almond

Die jupyter Option --allow-root ist eine Option, die erforderlich ist, um Jupyter mit Root-Rechten auszuführen. Dies ist erforderlich, da es sich um eine Root-Berechtigung in Docker handelt.

--ip = '*' ist eine Einstellung, mit der Sie von überall auf Jupyter zugreifen können. --NotebookApp.token = '' ist eine Einstellung zum Überspringen der Token-Eingabe, wenn Sie mit einem Browser auf Jupyter zugreifen. Ich führe dies unter Linux aus, das auf VirtualBox auf meinem PC ausgeführt wird, daher habe ich diese zur Vereinfachung festgelegt. Dies ist jedoch eine Einstellung, auf die von außen frei zugegriffen werden kann. Daher wird sie normalerweise nicht empfohlen. Überlegen.

Erstellen Sie ein Bild mit dem folgenden Befehl in dem Verzeichnis, das diese Docker-Datei enthält.

$ docker build -t myjupyter .

Starten Sie Jupyter mit dem folgenden Befehl, nachdem Sie in das Verzeichnis gewechselt haben, in dem Sie mit Jupyter arbeiten möchten.

$ docker run -it --rm -p 8888:8888 -v $HOME/.aws:/root/.aws -v $(pwd):/work myjupyter

-v $ HOME / .aws: / root / .aws wurde hinzugefügt, weil ich boto3 verwenden wollte, um auf die AWS-API zuzugreifen.

Greifen Sie nach dem Starten von Jupyter mit einem Browser auf Port 8888 zu.

Bei einem normalen Docker ist der Eigentümer der von Jupyter erstellten Datei root, sodass rootless Docker besser zu sein scheint.

Recommended Posts

Einfache Installation und Start von Jupyter Notebook mit Docker (unterstützt auch nbextensions und Scala)
Die Geschichte vom Starten des Jupyter-Notizbuchs von python2.x mit Docker (am Samstag und Sonntag zerquetscht)
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Bereiten Sie mit Docker ganz einfach eine Jupyter Notebook-Umgebung vor (Tensorflow und Graphviz sind ebenfalls verfügbar).
Streben Sie eine einfache Installation von OpenCv und Cuda mit JetPack (NVIDIA SDK Manager) von Nvidia an
Starten Sie das Jupyter Notebook ganz einfach unter AWS und greifen Sie lokal zu
Installation von Docker auf Raspberry Pi und L Chika
Installation von Jupyter und Pandas