[PYTHON] Versuchen Sie, Jupyter Hub mit Docker zu erstellen

Vor

Auf der PyCon 2015 ist das iPython (Jupyter) Notebook für verschiedene Personen unverzichtbar! Also dachte ich, ich würde es vorerst installieren, aber ich hatte nicht genug japanische Informationen, um Jupyter Saba mit Docker auszuprobieren, also werde ich die Arbeitsaufzeichnung teilen.

Docker installieren

Seit Debian 8 (Jassie) ist das Mutterschiff

$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

bash:/etc/apt/sources.list.d/docker.list


# Debian Jessie
deb https://apt.dockerproject.org/repo debian-jessie main
$ sudo apt-get update
$ sudo apt-get install docker-engine
$ sudo usermod -a -G docker yi01

Erstellen eines Docker-Images für JupyterHub

Hier gibt es einige Fallen.

Erstens ist es auf dem Docker Hub

Es gibt keine Implementierung für die Authentifizierung, daher müssen Sie "jupyterhub_config.py" erstellen und die Authentifizierungsmethode usw. mit der Option "-v" von Docker definieren.

Es ist jedoch mühsam, verschiedene Dinge von Grund auf neu zu erstellen, daher werde ich Beispiel mit OAuth von GitHub verwenden, das von jupyter erstellt wurde.

$ git clone https://github.com/jupyter/oauthenticator.git
$ cd oauthenticator

Bearbeiten Sie nun die Benutzerliste gemäß der README-Datei.

GitHub-Benutzereinstellungen


diff --git a/example/addusers.sh b/example/addusers.sh
index eb2d86b..cedd272 100644
--- a/example/addusers.sh
+++ b/example/addusers.sh
@@ -7,6 +7,6 @@ for line in `cat userlist`; do
   user=`echo $line | cut -f 1 -d' '`
   echo "adding user $user"
   useradd -m -s /bin/bash $user
-  cp -r /srv/ipython/examples /home/$user/examples
-  chown -R $user /home/$user/examples
+#  cp -r /srv/ipython/examples /home/$user/examples
+#  chown -R $user /home/$user/examples
 done
diff --git a/example/userlist b/example/userlist
index e69de29..d8f3556 100644
--- a/example/userlist
+++ b/example/userlist
@@ -0,0 +1 @@
+YusukeIwaki admin

Als Einschränkung können Sie, wenn Sie nur die Benutzerliste bearbeiten, "Docker Build" verwenden

cp: cannot stat ‘/srv/ipython/examples’: No such file or directory
chown: cannot access ‘/home/YusukeIwaki/examples’: No such file or directory

Ich bekomme einen Fehler wie diesen und es wird Moos, also werde ich das Shell-Skript ein wenig bearbeiten. Nach der Bearbeitung

$ cd example
$ docker build -t jupyter/oauthenticator .

Wenn Sie also ein erfolgreiches Protokoll erhalten,

Bestätigung


$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
jupyter/oauthenticator   latest              209358b449b6        24 seconds ago      934.9 MB
jupyter/jupyterhub       latest              fd5445f17a96        5 days ago          934.8 MB

GitHub OAuth-Einstellungen

Unter GitHub-Einstellungsbildschirm スクリーンショット 2015-10-12 1.14.29.png

Stellen Sie so ein. Bitte ändern Sie den Hostnamen und die Portnummer des Rückrufs entsprechend. Geben Sie nach der Registrierung der OAuth-Anmeldeinformationen auf der GitHub-Site die Client-ID und das dort erhaltene Geheimnis ein.

Geheimnis


diff --git a/example/env b/example/env
index 9f32b5c..7a921da 100644
--- a/example/env
+++ b/example/env
@@ -1,5 +1,5 @@
 # add your github oauth config to this file,
 # and run the container with `docker run -it -p 9000:8000 --env-file=env jupyter/oauthenticator`
-GITHUB_CLIENT_ID=
-GITHUB_CLIENT_SECRET=
-OAUTH_CALLBACK_URL=
+GITHUB_CLIENT_ID=21d***********e7a3
+GITHUB_CLIENT_SECRET=2ea1f***********************e9da7
+OAUTH_CALLBACK_URL=http://localhost:8001/hub/oauth_callback

Stellen Sie es so ein.

Anlaufen

$ docker run -it -p 8001:8000 --env-file=env jupyter/oauthenticator

Wenn Sie also über einen Browser darauf zugreifen ...

スクリーンショット 2015-10-12 0.13.20.png

Kita━━━━ (゜ ∀ ゜) ━━━━ !!

Recommended Posts

Versuchen Sie, Jupyter Hub mit Docker zu erstellen
Probieren Sie Selenium Grid mit Docker aus
Erstellen Sie eine Rails-Anwendung mit Docker
Versuchen wir es mit gRPC mit Go und Docker
Versuchen Sie, PySide2 zu erstellen
[Python3] [Ubuntu16] [Docker] Versuchen Sie die Gesichtserkennung mit OpenFace
Versuchen Sie, mit VisualStudioCode eine Umgebung für MayaPython zu erstellen
TFTP-Server mit Docker
Versuchen Sie es mit Python.
Versuchen Sie SNN mit BindsNET
Proxyserver mit Docker
Hallo, Welt mit Docker
Versuchen Sie eine Regression mit TensorFlow
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
Versuchen Sie, den Boden durch Rekursion herauszufordern
Versuchen Sie die Funktionsoptimierung mit Optuna
Versuchen Sie es mit TensorFlow
Versuchen Sie die Kantenerkennung mit OpenCV
Versuchen Sie es mit Jupyters Docker-Image
Versuchen Sie Google Mock mit C.
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie, mit einer Shell zu programmieren!
Versuchen Sie die GUI-Programmierung mit Hy
Versuchen Sie Auto Encoder mit Pytorch
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Versuchen Sie die Matrixoperation mit NumPy
Versuchen Sie, XOR mit PyTorch zu implementieren
Versuchen Sie, CNN mit ChainerRL auszuführen
Probieren Sie verschiedene Dinge mit PhantomJS aus
Versuchen Sie Deep Learning mit FPGA
PySpark Leben beginnt mit Docker
Bereiten Sie die Python3-Umgebung mit Docker vor
Versuchen Sie, Python mit Try Jupyter auszuführen
Versuchen Sie, Parfüm mit Go zu implementieren
Versuchen Sie die Gesichtserkennung mit Python
Probieren Sie OpenCV mit Google Colaboratory aus
Versuchen Sie es mit Kaggle leicht maschinell
Versuchen Sie TensorFlow MNIST mit RNN
Versuchen Sie es mit Folium mit Anakonda
(Hinweis) Hinweise zum Erstellen einer TensorFlow + Flask + Nginx-Umgebung mit Docker Compose
Erstellen einer Kubernetes-Umgebung mit ansible 2
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Versuchen Sie es mit Python + Beautiful Soup
Versuchen Sie, Tensorflow auf Docker + Anaconda auszuführen
Japanisieren Sie Matplotlib mit Alpine mit Docker
Bis Sie Jupyter in Docker starten
Einfacher Slackbot mit Docker und Errbot
Versuchen Sie, Facebook mit Python zu betreiben
Erstellen eines Flask-Servers mit Docker
Erstellen Sie eine Deb-Datei mit Docker
Tipps zum Ausführen Gehen Sie mit Docker
Versuchen Sie die Singularwertzerlegung mit Python
Versuchen Sie es mit TensorFlow Part 2
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Stellen Sie die Django-Anwendung mit Docker bereit
Versuchen Sie es mit einer http-Eingabeaufforderung mit interaktivem http-Zugriff
Probieren Sie die Audiosignalverarbeitung mit librosa-Beginner aus
Versuchen Sie, Pferderennen mit Chainer vorherzusagen
Google AppEngine-Entwicklung mit Docker
Versuchen Sie, sich mit ONNX Runtime zu profilieren