――Je souhaite créer un environnement d'analyse de données avec ** Docker **. -Je veux utiliser ** Python **, ** R ** ou ** Julia ** avec ** Jupyter **. ――Je souhaite que vous incluiez dès le début des bibliothèques et des packages standard pour chaque langue.
--Les personnes qui souhaitent créer un environnement de base de la science des données avec Docker
Si vous êtes une personne comme celle-ci et entrez la commande conformément à cet article, nous visons à créer un environnement d'analyse de données.
Actuellement, nous avons confirmé le démarrage sur macOS High Sierra et Ubuntu 18.04.
Si Docker lui-même n'est pas installé, vous ne pouvez pas effectuer les opérations suivantes. Tout d'abord, veuillez installer Docker lui-même en fonction du système d'exploitation à partir du site Web officiel de Docker.
Docker a une image Docker pleine d'applications. Vous devez sélectionner l'image Docker requise en fonction du type d'environnement que vous souhaitez créer.
Cette fois, je veux utiliser `` Jupyter Notebook '', donc j'utiliserai l'image Docker publiée sur Jupyter official Github.
Le fonctionnaire de Jupyter publie différents types d'images Docker. Cette fois,
Je veux créer un environnement avec chacun d'eux, donc j'utilise quelque chose appelé `` datascience-notebook ''. Veuillez consulter le site Web officiel de Jupyter pour plus de détails sur cette image Docker.
D'autres images Docker publiées par le responsable de Jupyter et leurs caractéristiques sont faciles à comprendre en regardant le tableau ci-dessous.
Maintenant que l'image à utiliser a été décidée, téléchargez d'abord l'image du docker vers Local avec `` docker pull ''.
$ docker pull jupyter/datascience-notebook
docker pull
arrière,docker run jupyter/datascience-notebook
Le conteneur démarre toujours, mais il existe les problèmes suivants.
Si vous ne persistez pas les données, ce sera difficile plus tard. Cependant, il existe de nombreux cas où le mot de passe n'est pas nécessaire si vous travaillez uniquement avec Local, vous pouvez donc le lire.
Pour les paramètres de mot de passe,
Je vais d'abord l'écrire car je vais suivre la procédure. Si vous n'avez pas besoin d'un mot de passe, veuillez lire ce chapitre.
Tout d'abord, entrez dans l'environnement `` bash '' du conteneur docker avec la commande suivante.
$ docker run -it --rm jupyter/datascience-notebook /bin/bash
Si vous entrez en toute sécurité dans l'environnement `` bash '' du conteneur, la sortie passera à ce qui suit.
jovyan@Alphabet:~$
Si la sortie est commutée, utilisez python dans le conteneur docker pour obtenir la chaîne de hachage du mot de passe que vous souhaitez utiliser. La commande suivante lancera une invite pour hacher votre mot de passe.
(À l'intérieur du conteneur Docker) $ python -c 'from notebook.auth import passwd;print(passwd())'
Lorsque vous entrez la commande, vous serez invité à entrer le mot de passe que vous souhaitez utiliser, alors entrez-le deux fois.
(À l'intérieur du conteneur Docker) $ python -c 'from notebook.auth import passwd;print(passwd())'
Enter password:
Verify password:
sha1:YOUR_PASSWORD_HASH_VALUE
Gardez à l'esprit que le
sha1: YOUR_PASSWORD_HASH_VALUE``` (YOUR_PASSWORD_HASH_VALUE dépend de votre environnement) qui est généré après avoir entré le mot de passe deux fois sera utilisé plus tard.
Une fois que vous avez obtenu la chaîne de hachage, vous êtes de retour dans l'environnement local car vous n'avez pas besoin de travailler dans ce conteneur. De plus, comme j'ai défini l'option `` --rm '' lors du démarrage du conteneur Docker, ce conteneur est automatiquement supprimé lorsque le conteneur Docker est arrêté.
(À l'intérieur du conteneur Docker) $ exit
Une fois que vous avez la chaîne de hachage du mot de passe que vous souhaitez utiliser, il est temps de lancer le conteneur Docker pour analyse. Vous pouvez définir des mots de passe et conserver les fichiers en transmettant des options supplémentaires lors du démarrage du conteneur Docker.
Comme mentionné précédemment, il n'y a pas de problème avec le mot de passe même s'il ne dépend pas de l'environnement. Cependant, sachez que si vous ne persistez pas les fichiers, tout ce que vous avez fait dans le conteneur disparaîtra.
Démarrez le conteneur Docker de l'environnement d'analyse de données avec la commande suivante.
$ docker run \
--user root \
-e GRANT_SUDO=yes \
-e NB_UID=$UID \
-e NB_GID=$GID \
-e TZ=Asia/Tokyo \
-p 8888:8888 \
--name notebook \
-v ~/path/to/directory/:/home/jovyan/work \
jupyter/datascience-notebook \
start-notebook.sh \
--NotebookApp.password='sha1:YOUR_PASSWORD_HASH_VALUE'
Pour expliquer les options
-v ~/path/to/directory/:/home/jovyan/work/
En faisant cela, le répertoire de travail et ci-dessous qui peuvent être vus à partir du notebook jupyter seront synchronisés avec le répertoire local.
~/path/to/directory/
Est la partie qui définit le répertoire où les fichiers peuvent être échangés avec le conteneur Docker, veuillez donc utiliser votre répertoire préféré tel que le répertoire de travail de chaque personne.
--NotebookApp.password='sha1:YOUR_PASSWORD_HASH_VALUE'
YOUR_PASSWORD_HASH_Pour VALUE, entrez la chaîne de hachage que vous avez générée précédemment.
Si vous entrez la commande ci-dessus et qu'aucune erreur n'est générée, Jupyter devrait avoir démarré avec succès.
Accédons-y avec un navigateur et vérifions-le.
Dans la plupart des cas, vous pouvez le trouver sur http: // localhost: 8888.
Lors de la création dans un environnement de serveur, remplacez localhost par l'adresse IP du serveur cible.
Dans l'environnement serveur, il existe des cas où l'accès n'est pas possible car le port du serveur lui-même est fermé.
Dans ce cas, ouvrez le port utilisé par Jupyter Notebook.
L'image ci-dessous est celle du démarrage réussi.
Si vous voyez une page comme celle-ci, vous pouvez vous connecter en utilisant le mot de passe que vous avez défini précédemment.
![ss_2017-06-30_17.11.51.png](https://qiita-image-store.s3.amazonaws.com/0/43351/c99a80ea-9f4e-5c71-5cc8-3dafa9ae187c.png)
Après cela, profitez de l'environnement Jupyter dans votre langue préférée!
Let's enjoy data science!
Recommended Posts