[PYTHON] Einführung in Kaggles Docker Image unter Windows zum Erstellen einer Umgebung

Notieren Sie den verstopften Teil als Erinnerung, wenn Sie versuchen, mithilfe von Kaggles Docker Image in Ihrem Windows-Notizbuch einfach eine Umgebung zu erstellen.

Grundsätzlich verweise ich auf den Artikel von "Teniro Graffiti". Bitte beziehen Sie sich zuerst auf diesen Artikel, mit Ausnahme von Win10 Pro, dessen Betriebssystem Windows ist. Wenn Sie die Docker-Toolbox verwenden, ist dies hilfreich.

Stolperpunkt ① Die Ausführung von yaml von Docker-Compose funktioniert aufgrund eines Fehlers des Datenträgernamens nicht

Beim Erstellen der Docker-Compose-Yaml-Datei wie im obigen Artikel wurde eine Fehlermeldung angezeigt.

version: "3"
services:
  jupyter:
    build: .
    volumes:
      - $PWD:/tmp/working
    working_dir: /tmp/working
    ports:
      - 8888:8888
    command: jupyter notebook --ip=0.0.0.0 --allow-root --no-browser

image.png Ich erhalte die Fehlermeldung "Datenträgername ist zu kurz, Namen sollten mindestens zwei alphanumerische Zeichen enthalten". Ergebnisse der Untersuchung lautet die Notation der Umgebungsvariablen der Volumes in der yaml-Datei "$ PWD", jedoch in der jeweiligen Umgebung Es funktioniert nicht und es scheint besser, die Befehle $ {PWD} und PWD (aktuellen Verzeichnispfad abrufen) auszuführen. Es funktionierte also besser mit $ {PWD} / tmp / working anstelle von $ PWD: / tmp / working (da ich ein Docker-Anfänger bin, würde ich es begrüßen, wenn Sie den Grund für weitere Details kommentieren könnten).

Stolperpunkt ② Ich kann mit einem Browser keine Verbindung zu Docker herstellen

Als ich es mit der von docker-compose up --build modifizierten yaml-Datei ausführte, konnte ich den Container erfolgreich mit dem Jupyter-Notebook erstellen, das in der Kaggle-Analyseumgebung ausgeführt wurde. image.png Im Browser jedoch "http: // localhost: 8888 /? Token = XXXX" Der Versuch, über den 8888-Port von Docker durch Eingabe der URL eine Verbindung zum Jupyter-Notebook herzustellen, funktioniert nicht. image.png Bei der Docker-Toolbox ist es nicht möglich, eine direkte Verbindung zu localhost (lokaler Host) herzustellen. Rufen Sie daher die IP-Adresse der virtuellen Maschine ab, die auf der Docker Toolbox ausgeführt wird, und geben Sie sie in die URL anstelle von localhost Ingenuity ein. / jusotech10 / items / b292ac38197926fc6afa) ist erforderlich.

> docker-machine ip default
192.168.XX.XX

Dann konnte ich mich erfolgreich mit dem Jupyter-Notebook verbinden. image.png

Stolperpunkt ③ Ich kann das Host-Betriebssystem nicht in das Verzeichnis einbinden.

Der oben erwähnte "Volume" -Teil der Yaml-Datei stellt das zu mountende Verzeichnis dar, aber in meiner Umgebung funktionierte das Mounten nicht und das Host-Betriebssystem (lokal) und das Verzeichnis auf der VM wurden nicht synchronisiert. Als Ergebnis der Untersuchung wurde festgestellt, dass die Ursache wie folgt war.

  1. Die Einstellung für die Ordnerfreigabe von Oracle Virtual Box ist nicht festgelegt.

  2. Die Version der VM-Startdatei (boot2docker.iso) auf der Docker-Seite stimmt nicht mit der Version von VirtualBox überein, die bei der Installation der Docker-Toolbox installiert wurde.

  3. Starten Sie "Oracle VM VirtualBox Manager" und die derzeit verwendete Docker-Computer-VM Sie können es bereitstellen, indem Sie Details> Freigegebener Ordner> Neuen freigegebenen Ordner hinzufügen> Automatisch einhängen / beibehalten aktivieren. Da die Docker-Toolbox für Windows VirtualBox durchläuft, ist der Docker-Befehl nur wirksam, wenn solche Einstellungen vorgenommen werden. ** VM VirtualBox-Symbol ** image.png ** VM VirtualBox Manager ** image.png ** Fenster mit Einstellungen für freigegebene Ordner mit VM-Details ** image.png Selbst wenn ich ungefähr 1 eingestellt habe, hat die Halterung nicht funktioniert. Die Ursache ist, dass die zuerst installierte Version von VirtualBox und die Version der Startdatei von Dockers VM nicht übereinstimmten. (Ich weiß nicht warum das passiert ist) Ich konnte die Startdatei so ändern, dass sie mit der aktuellen Version von VirtualBox übereinstimmt, aber ich habe VirtualBox auf die neueste Version neu installiert und gleichzeitig die Startdatei aktualisiert. Die Boot-Datei wird als C: // Users / {user} /. Docker / machine / cache / boot2docker.iso gespeichert. Diese Datei ist unter [** hier ] verfügbar (https://github.com/boot2docker/boot2docker/releases?after=v18.09.7). Sie finden die Version von VirtualBox unter Hilfe> Über VirtualBox und können das Installationsprogramm unter [ hier **] herunterladen (https://www.virtualbox.org/wiki/Download_Old_Builds_5_2). Ersetzen Sie die Startdatei, installieren Sie VirtualBox neu und entfernen Sie den alten Docker-VM-Computer mit VirtualBox Manager. Wenn Sie das Docker-Schnellstartterminal starten, wird automatisch eine neue VM für Docker basierend auf der Startdatei gestartet. Obwohl es sich um ein kleines Detail handelt, entspricht der Unterschied zwischen der Boot-Dateiversion und der VirtualBox-Version der Version der Einstellungsdatei mit dem Namen GuestAdditions.iso, die zum Mounten des Host-Betriebssystems verwendet wird, wodurch das Mounten fehlschlägt.

Stolperpunkt ④ Ich möchte nicht jedes Mal ein Jupyter-Notebook starten

Ich habe einen Docker-Container mit einer Yaml-Datei erstellt, die auf dem Docker-Image basiert. Da jedoch der Befehl zum Starten des Jupyter-Notizbuchs bei jedem Start des Containers enthalten ist, wird das Jupyter-Notizbuch jedes Mal mit dem Container gestartet. Zu diesem Zeitpunkt können Sie durch Starten des Containers mit dem folgenden Befehl und Anhängen auf den Container mit denselben Einstellungen zugreifen, außer dass Sie das Jupyter-Notizbuch nicht in den oben beschriebenen Einstellungen für die Yaml-Datei starten.

docker run -t -i --name {Containername} -p 8888:8888 -v $PWD:/tmp/working:/tmp/working -w /tmp/working {Name des Docker-Bildes} /bin/bash

Nach dem Erstellen verschiedener Installationen und Verzeichnisse, jupyter notebook --ip = 0.0.0.0 --allow-root --no-browser Sie können das Jupyter-Notebook auch mit starten und verwenden. Ebenso können Sie die yaml-Datei erstellen und ausführen, die dem obigen Docker-Befehl entspricht. (Ich werde es hier weglassen) Als Referenz sind die häufig verwendeten Docker-Befehle unten aufgeführt.

#Starten Sie die VM
docker-machine start {VM-Name}
#Liste der aktuell erstellten Bilder
docker images
#Liste der aktuell erstellten Container
docker ps -a
#Starten Sie den oben mit Name oder ID bestätigten Container
docker start {Containername/Container ID}
#Am gestarteten Container anbringen
docker attach {Containername/Container ID}
#Beenden Sie die VM
docker-machine stop {VM-Name}
#Löschen Sie nicht benötigte Bilder
docker rmi {Bildname/Bild-ID}
#Löschen Sie nicht benötigte Container
docker rm {Containername/Container ID}

Schließlich

Wenn Sie einfach mit einem handelsüblichen Windows-Notebook analysieren möchten, aber die Umwelt nicht verschmutzen möchten, ist Docker eine sehr nützliche Software. Ich habe die Punkte zusammengefasst, auf die ich gestoßen bin, als ich sie in der allgemeinen Windows 10 Home Edition eingeführt habe. Ich bin froh, wenn Sie es als Referenz verwenden können.

Recommended Posts

Einführung in Kaggles Docker Image unter Windows zum Erstellen einer Umgebung
Erstellen Sie eine Python-Umgebung unter Windows
Erstellen Sie eine Python-Umgebung mit Windows
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Erstellen Sie unter Windows 10 eine Umgebung, in der Sie MXNet ausprobieren können
Build-Umgebung für Python 2.7, 3.4, 3.5-Erweiterungsmodule unter Windows
So erstellen Sie eine NVIDIA Docker-Umgebung
Erstellen einer Umgebung für "Tello_Video" unter Windows
Erstellen Sie Linux in einer Windows-Umgebung. Schritte zum Installieren und Migrieren von Laradock
Erstellen Sie eine LAMP-Umgebung auf Ihrem lokalen Docker
Für Anfänger, um eine Anaconda-Umgebung aufzubauen. (Memo)
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
[Neueste] So erstellen Sie eine Java-Umgebung unter Ubuntu
Erstellen Sie eine Arch Linux-Umgebung auf Raspai
Schritte zum Erstellen von PyTorch 1.5 für CUDA 10.2 unter Windows
So erstellen Sie eine Umgebung für die Verwendung mehrerer Python-Versionen auf einem Mac
Erstellen Sie TensorFlow unter Windows
Erstellen Sie XGBoost unter Windows
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Erstellen Sie mithilfe von Poetry eine OpenCV4-Umgebung auf Raspberry Pi
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
[Go + Gin] Ich habe versucht, eine Docker-Umgebung zu erstellen
Erstellen Sie eine Open AI Gym-Umgebung mit Bash unter Windows 10
Einführung von WSL (Ubuntu 18.04) in WIndows10 ~ Proxy-Umgebung zweiter Teil ~
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
Windows10 (x64) Erstellen Sie nativ eine maschinelle Lernumgebung
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
Erstellen Sie eine Umgebung für maschinelles Lernen mit Python unter MacOSX
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
Fügen Sie eine Erweiterung hinzu, um eine komfortablere Jupyter-Umgebung zu erstellen
Erstellen Sie eine Ubuntu-Python-Entwicklungsumgebung auf der Google Cloud Platform
Verwendung von VS-Code in einer venv-Umgebung mit Windows
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Entwicklung der Django-Umgebung unter Windows 10
Memo zum Erstellen einer Python-Umgebung mit Docker unter Windows 10 Home
Erstellen einer Umgebung zum Ausführen von Python-Programmen unter AWS EC2
Erstellen Sie eine GPU-Umgebung mit GCP und kaggle offiziellem Image (Docker)
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Verwalten der Python-Nebenversion (Erstellen einer virtuellen Umgebung) unter Windows (ohne Pyenv oder WSL)
[Tensorflow] Aufbau der Tensorflow-Umgebung unter Windows 10
So erstellen Sie eine ISO-Datei (CD-Image) unter Linux
Verwenden Sie Xming, um eine Ubuntu-GUI-Anwendung unter Windows zu starten.
Jeder kann verstehen, wie man eine erste Umgebung für Python auf dem Mac im September 2016 erstellt (pyenv + virutalenv).
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
[Docker] Erstellen Sie eine Umgebung für Python (Flask) + GraphQL (Graphen) + MySQL (SQLalchemy)
Ich habe versucht, eine Umgebung von MkDocs unter Amazon Linux zu erstellen
Der einfachste Weg, um eine Spleeter-Nutzungsumgebung unter Windows zu erstellen
So erstellen Sie eine Python-Umgebung mit Virtualenv unter Ubuntu 18.04 LTS
Erstellen und testen Sie mit Docker in wenigen Minuten eine OpenCV- und Python-Umgebung
Erstellen einer Umgebung zum Ausführen von ChainerMN auf einer AWS-GPU-Instanz
Shellscript zum Erstellen einer Pyenv-Umgebung auf Ubuntu auf einmal
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Docker bauen Python basierend auf alpinen
Python-Umgebungskonstruktionsnotiz unter Windows 10
Python 3.6 unter Windows ... und zu Xamarin.
Aufbau einer Anaconda-Python-Umgebung unter Windows 10
Erstellen Sie mit Docker eine Go-Umgebung
Verwendung von Dataiku unter Windows