À PyCon 2015, iPython (Jupyter) Notebook est indispensable pour diverses personnes! J'ai donc pensé l'installer pour le moment, mais je n'avais pas assez d'informations japonaises pour avoir essayé Jupyter Saba avec Docker, donc je partagerai le dossier de travail.
Puisque Debian 8 (Jassie) est le vaisseau mère
$ 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
Il y a des pièges ici.
Tout d'abord, c'est sur le Docker Hub
Il n'y a pas d'implémentation autour de l'authentification, vous devez donc créer jupyterhub_config.py
et définir la méthode d'authentification, etc. en utilisant l'option -v
de docker.
Cependant, il est difficile de faire diverses choses à partir de zéro, donc j'utiliserai l 'exemple utilisant OAuth de GitHub préparé par jupyter.
$ git clone https://github.com/jupyter/oauthenticator.git
$ cd oauthenticator
Maintenant, modifiez la liste des utilisateurs selon le README.
Paramètres utilisateur GitHub
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
En guise de mise en garde, si vous modifiez simplement la liste des utilisateurs, vous pouvez utiliser docker build
cp: cannot stat ‘/srv/ipython/examples’: No such file or directory
chown: cannot access ‘/home/YusukeIwaki/examples’: No such file or directory
J'obtiens une erreur comme celle-ci et il y a de la mousse, je vais donc modifier un peu le script shell. Après l'édition,
$ cd example
$ docker build -t jupyter/oauthenticator .
Donc, si vous obtenez un journal de type Réussite,
Vérification
$ 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
Sur Écran des paramètres GitHub
Réglez comme ça. Veuillez modifier le nom d'hôte et le numéro de port du rappel selon le cas. Après avoir enregistré les informations d'identification OAuth sur le site GitHub, entrez l'ID client et le secret qui y sont obtenus.
secret
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
Réglez-le comme ça.
$ docker run -it -p 8001:8000 --env-file=env jupyter/oauthenticator
Ainsi, lorsque vous y accédez depuis un navigateur ...
Kita━━━━ (゜ ∀ ゜) ━━━━ !!
Recommended Posts