Erstellen Sie mit Docker eine grundlegende Data Science-Umgebung (Jupyter, Python, R, Julia, Standardbibliothek).

Inhaltsverzeichnis

Motivation

――Ich möchte mit ** Docker ** eine Datenanalyseumgebung erstellen. -Ich möchte ** Python **, ** R ** oder ** Julia ** mit ** Jupyter ** verwenden. ――Ich möchte, dass Sie von Anfang an einige Standardbibliotheken und -pakete für jede Sprache hinzufügen.

Angenommener Leser

Wenn Sie eine Person wie die oben genannte sind und den Befehl gemäß diesem Artikel eingeben, möchten wir eine Datenanalyseumgebung erstellen.

Derzeit haben wir den Start unter macOS High Sierra und Ubuntu 18.04 bestätigt.

Eigentliche Arbeit

Installieren Sie Docker

Wenn Docker selbst nicht installiert ist, können Sie die folgenden Vorgänge nicht ausführen. Installieren Sie zunächst Docker selbst gemäß dem Betriebssystem von der offiziellen Docker-Website.

Wählen Sie das Docker-Image aus und erhalten Sie es

Docker verfügt über ein Docker-Image, das voller Anwendungen ist. Sie müssen das gewünschte Docker-Image entsprechend der Art der Umgebung auswählen, die Sie erstellen möchten.

Dieses Mal möchte ich "Jupyter Notebook" verwenden, daher verwende ich das Docker-Image, das auf Jupyter Official Github veröffentlicht wurde.

Der Jupyter-Beamte veröffentlicht verschiedene Arten von Docker-Bildern. Diesmal,

Ich möchte mit allen eine Umgebung erstellen, daher verwende ich etwas, das als "Datascience-Notebook" bezeichnet wird. Weitere Informationen zu diesem Docker-Bild finden Sie auf der offiziellen Jupyter-Website.

Andere vom Jupyter-Beamten veröffentlichte Docker-Bilder und ihre Eigenschaften sind anhand der folgenden Tabelle leicht zu verstehen.

projects

Nachdem das zu verwendende Image festgelegt wurde, laden Sie zuerst das Docker-Image mit `` `Docker Pull``` auf Local herunter.

$ docker pull jupyter/datascience-notebook

docker pullRückseite,docker run jupyter/datascience-notebookDer Container startet immer noch, aber es gibt die folgenden Probleme.

  1. Daten können nicht beibehalten werden.
  2. Sie haben kein Passwort festgelegt.

Wenn Sie die Daten nicht beibehalten, wird es später schwierig. Es gibt jedoch viele Fälle, in denen ein Kennwort nicht erforderlich ist, wenn Sie nur mit Local arbeiten, sodass Sie es durchlesen können.

Holen Sie sich die Hash-Zeichenfolge des zu setzenden Passworts

Für Passworteinstellungen

  1. Generieren Sie eine ** Hash-Zeichenfolge ** des in der Docker-Container-Umgebung verwendeten Kennworts, das einmal gelöscht wird.
  2. Legen Sie das Kennwort beim Starten der Produktionsumgebung fest.

Ich werde es zuerst schreiben, weil ich das Verfahren übernehmen werde. Wenn Sie kein Passwort benötigen, lesen Sie bitte dieses Kapitel.

Geben Sie zunächst mit dem folgenden Befehl die `` `bash```-Umgebung des Docker-Containers ein.

$ docker run -it --rm jupyter/datascience-notebook /bin/bash

Wenn Sie sicher in die `` `bash```-Umgebung des Containers eintreten, wechselt die Ausgabe zu der folgenden.

jovyan@Alphabet:~$ 

Wenn die Ausgabe umgeschaltet wird, verwenden Sie Python im Docker-Container, um die Hash-Zeichenfolge des Kennworts abzurufen, das Sie verwenden möchten. Mit dem folgenden Befehl werden Sie aufgefordert, Ihr Kennwort zu hashen.

(Im Docker-Container) $ python -c 'from notebook.auth import passwd;print(passwd())'

Wenn Sie den Befehl eingeben, werden Sie aufgefordert, das Kennwort einzugeben, das Sie verwenden möchten. Geben Sie es daher zweimal ein.

(Im Docker-Container) $ python -c 'from notebook.auth import passwd;print(passwd())'
Enter password:
Verify password:
sha1:YOUR_PASSWORD_HASH_VALUE

Beachten Sie, dass das `` `sha1: YOUR_PASSWORD_HASH_VALUE``` (YOUR_PASSWORD_HASH_VALUE hängt von der Umgebung ab), das nach zweimaliger Eingabe des Passworts ausgegeben wird, später verwendet wird.

Sobald Sie die Hash-Zeichenfolge erhalten haben, befinden Sie sich wieder in der lokalen Umgebung, da Sie nicht in diesem Container arbeiten müssen. Da ich beim Starten des Docker-Containers die Option `` `--rm``` gesetzt habe, wird dieser Container automatisch gelöscht, wenn der Docker-Container gestoppt wird.

(Im Docker-Container) $ exit

Legen Sie das Kennwort fest, machen Sie die Datei persistent und starten Sie den Docker-Container in der Datenanalyseumgebung.

Sobald Sie die Hash-Zeichenfolge des Kennworts haben, das Sie verwenden möchten, ist es Zeit, den Docker-Container zur Analyse zu starten. Sie können Kennwörter festlegen und Dateien beibehalten, indem Sie beim Starten des Docker-Containers zusätzliche Optionen übergeben.

Wie bereits erwähnt, gibt es kein Problem mit dem Kennwort, auch wenn es nicht von der Umgebung abhängt. Beachten Sie jedoch, dass alles, was Sie im Container getan haben, verschwindet, wenn Sie die Dateien nicht beibehalten.

Starten Sie den Docker-Container der Datenanalyseumgebung mit dem folgenden Befehl.

$ 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'

Um die Optionen zu erklären

  1. Die Dateipersistenz wird im folgenden Teil festgelegt.
-v ~/path/to/directory/:/home/jovyan/work/

Auf diese Weise wird das Arbeitsverzeichnis und darunter, das vom Jupyter-Notizbuch angezeigt wird, mit dem lokalen Verzeichnis synchronisiert.

~/path/to/directory/Ist der Teil, der das Verzeichnis festlegt, in dem Dateien mit dem Docker-Container ausgetauscht werden können. Verwenden Sie daher bitte ein beliebiges Verzeichnis, z. B. das Arbeitsverzeichnis jeder Person.

  1. Das Passwort für "Jupyter Notebook" wird im folgenden Teil festgelegt.
--NotebookApp.password='sha1:YOUR_PASSWORD_HASH_VALUE'

YOUR_PASSWORD_HASH_Geben Sie für VALUE die zuvor generierte Hash-Zeichenfolge ein.




 Wenn Sie den obigen Befehl eingeben und kein Fehler ausgegeben wird, sollte Jupyter erfolgreich gestartet werden.
 Lassen Sie uns mit einem Browser darauf zugreifen und es überprüfen.
 In den meisten Fällen finden Sie es unter http: // localhost: 8888.

 Ersetzen Sie beim Erstellen einer Serverumgebung localhost durch die IP-Adresse des Zielservers.
 In der Serverumgebung gibt es Fälle, in denen der Zugriff nicht möglich ist, weil der Port des Servers selbst geschlossen ist.
 Öffnen Sie in diesem Fall den von Jupyter Notebook verwendeten Port.


 Das Bild unten ist das Bild, als es erfolgreich gestartet wurde.
 Wenn Sie eine Seite wie diese sehen, können Sie sich mit dem zuvor festgelegten Kennwort anmelden.

 ![ss_2017-06-30_17.11.51.png](https://qiita-image-store.s3.amazonaws.com/0/43351/c99a80ea-9f4e-5c71-5cc8-3dafa9ae187c.png)

 Danach genießen Sie die Jupyter-Umgebung in Ihrer Lieblingssprache!

Let's enjoy data science!


Recommended Posts

Erstellen Sie mit Docker eine grundlegende Data Science-Umgebung (Jupyter, Python, R, Julia, Standardbibliothek).
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Erstellen Sie eine Python-Umgebung mit WSL + Pyenv + Jupyter + VSCode
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie mit Neovim eine moderne Python-Umgebung
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python
Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook
Erstellen einer R- und Python Docker-Arbeitsumgebung
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine Entwicklungsumgebung mit Poetry Django Docker Pycharm
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Bereiten Sie die Python3-Umgebung mit Docker vor
Erstellen Sie mit direnv eine Python-Umgebung
Erstellen Sie die Python-Umgebung offline
Erstellen Sie eine Datenanalyseumgebung mit Kedro + MLflow + Github-Aktionen
Erstellen Sie mit Docker eine Django-Entwicklungsumgebung! (Docker-compose / Django / postgreSQL / nginx)
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
Erstellen Sie mit VSCode & Docker Desktop eine einfache Python-Entwicklungsumgebung
Erstellen Sie eine Python-Umgebung mit pyenv (OS X El Capitan 10.11.3).
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen einer Docker-Arbeitsumgebung für R und Python 2: Japanische Unterstützung
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen Sie mit Docker eine Go-Umgebung
Erstellen Sie eine Deb-Datei mit Docker
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Erstellen einer virtuellen Umgebung mit Python 3
Erstellen Sie mit PsychoPy + Jupyter Notebook eine komfortable Umgebung für psychologische Experimente / Analysen
Erstellen Sie eine Python-Ausführungsumgebung mithilfe der GPU mit der GCP Compute Engine
Erstellen Sie eine Python3-Umgebung unter CentOS7
So erstellen Sie eine Python- und Jupyter-Ausführungsumgebung mit VSCode
Erstellen Sie ein USB-Boot-Ubuntu mit einer Python-Umgebung für die Datenanalyse
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Aufbau einer LaTeX- und R-Umgebung (ein wenig Python) mit SublimeText3 (Windows)
Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server
[Mac] Erstellen Sie mit Docker eine Python 3.x-Umgebung mit der schnellsten Geschwindigkeit
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen