[PYTHON] Dockerfile zum Erstellen einer datenwissenschaftlichen Umgebung basierend auf pip3

Dinge die zu tun sind

Apropos Docker-Container für Data Science: Es gibt scipy-notebook, das von jupyter offiziell verteilt wird. Wenn Sie sich jedoch das Dockerfile ansehen, basiert es auf conda. Es steht geschrieben. Aber ich möchte Conda aus religiösen Gründen nicht benutzen. Dieses Mal werde ich eine Docker-Datei schreiben, um eine auf pip3 basierende Umgebung für Data Science zu erstellen.

Artikel, auf die verwiesen wird Die Geschichte des Versuchs, mit Docker eine maschinelle Lernumgebung zu erstellen

Politik

・ Basierend auf dem offiziellen Python-Docker-Image ・ Verwenden Sie pip3 -Laden Sie nur die erforderlichen Module aus require.txt ・ Ich möchte mit "google-cloud-bigquery" eine Verbindung zu BigQuery herstellen. Fügen Sie daher das Cloud-SDK ein ・ Ich möchte mit jupyterlab + plotly visualisieren, also füge Node.js ein

Was wurde gemacht

Dockerfile

#Python 3.Basierend auf 8
#Referenz: https://qiita.com/penpenta/items/3b7a0f1e27bbab56a95f
FROM python:latest

USER root

RUN apt-get update \
    && apt-get upgrade -y \
    && apt-get install -y sudo \
    && apt-get install -y lsb-release \ # google-cloud-Erforderlich bei der Installation von SDK
    && pip3 install --upgrade pip

#Arbeitsverzeichnis ändern,Das musst du nicht
# WORKDIR /home/{Geeigneter Benutzername}

#Anforderungen, die im Voraus und im selben Ordner wie die Docker-Datei erstellt wurden.Installieren Sie txt
COPY requirements.txt ${PWD}
RUN pip3 install -r requirements.txt

#Installieren Sie das Cloud SDK
# https://cloud.google.com/sdk/docs/downloads-apt-get
RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \
    echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
    apt-get update -y && apt-get install google-cloud-sdk -y

#Knoten zum Plotten verwenden.installiere js
# https://github.com/nodesource/distributions/blob/master/README.md
RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - \
    && sudo apt-get install -y nodejs

#Unterstützen Sie Plotly mit Jupyter Lab
ENV NODE_OPTIONS=--max-old-space-size=4096
RUN jupyter labextension install @jupyter-widgets/[email protected] --no-build \
    && jupyter labextension install [email protected] --no-buil \
    && jupyter labextension install [email protected] --no-build \
    && jupyter lab build
ENV NODE_OPTIONS=

Schreiben Sie die Module, die dieses Mal installiert werden sollen, in require.txt. Feste Version ist Ihre Wahl

requirements.txt


numpy
pandas
matplotlib
seaborn
scikit-learn
scrapy
jupyter
plotly
google-cloud-bigquery
jupyterlab

Wie benutzt man

Legen Sie die beiden oben genannten Dateien in einem geeigneten Ordner ab und verschieben Sie sie in dieses Verzeichnis. Danach können Sie die folgenden Befehle der Reihe nach ausführen

#Erstellen Sie ein Docker-Image
docker build --rm -t {Name des Docker-Bildes} .
#Erstellen Sie einen Docker-Container
#Portweiterleitung zur Verbindung innerhalb und außerhalb von Docker(-p)Machen
#Hängen Sie einen Ordner außerhalb von Docker ein, damit Dateien auch dann nicht verschwinden, wenn Sie den Docker-Container löschen(-v)Machen
docker run -itp {Port außerhalb des Containers}:{Port in den Container} -v {Absoluter Pfad des Ordners außerhalb des Containers,Am Ende"/"Nicht anhängen}:{Absoluter Pfad, an dem Sie den Ordner im Container bereitstellen möchten+Der Name des Ordners, der in Docker bereitgestellt werden soll} --name {Der Name des Containers} {Name des Bildes, aus dem es erstellt wurde} /bin/bash
#Jupyter starten
jupyter lab --ip=0.0.0.0 --allow-root --port {Port in den Container}

Andere

#Cloud SDK-Zertifizierung
gcloud init
# google-cloud-API-Authentifizierung für Bigquery
hogehoge
export GOOGLE_APPLICATION_CREDENTIALS={Absoluter Pfad der Authentifizierungsdatei}
export GOOGLE_CLOUD_PROJECT={Projektname zum Verbinden}

Recommended Posts

Dockerfile zum Erstellen einer datenwissenschaftlichen Umgebung basierend auf pip3
Erstellen einer Entwicklungsumgebung für maschinelles Lernen
Dinge, auf die Sie beim Erstellen einer Python-Umgebung auf einem Mac achten sollten
Erstellen Sie schnell eine Python-Umgebung für Deep Learning / Data Science (Windows)
Ein Tool zum Erstellen symbolischer Links unter Windows
Ich habe versucht, eine Docker-Datei für die Entwicklungsumgebung von Django zu erstellen
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Erstellen Sie eine Kubernetes-Umgebung für die Entwicklung unter Ubuntu
Verfahren zum Erstellen einer Python-Isolationsumgebung (venv-Umgebung)
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
Erstellen Sie eine lokale Entwicklungsumgebung für Laravel6.X auf Ihrem Mac
Memo zum Erstellen einer Python-Entwicklungsumgebung mit macOS Catalina
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)
Vorgehensweise zum Erstellen eines Linienbot in AWS Lambda
Hinweise zum Erstellen einer virtuellen Umgebung mit Anaconda Navigator
Empfehlung von Jupyter Notebook, einer Codierungsumgebung für Datenwissenschaftler
Versuchen Sie "100 Schläge auf Data Science" ①
Erstellen Sie eine Python-Datenanalyseumgebung auf einem Mac (El Capitan).
Erstellen einer virtuellen Umgebung für Python auf dem Mac [Sehr einfach]
Erstellen Sie unter CentOS 7.7 eine Python-Umgebung für Ihren Heimserver
Wettbewerb mit VS-Code Erstellen Sie eine Python-Umgebung für Profis unter Windows
Installieren Sie Networkx in der Python 3.7-Umgebung zur Verwendung in Malware Data Science-Büchern
Erstellen Sie ein USB-Boot-Ubuntu mit einer Python-Umgebung für die Datenanalyse
Erstellen einer Python-Umgebung auf einem Mac
Starten Sie Data Science in der Cloud
Erstellen einer Python-Umgebung unter Ubuntu
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
Erstellen Sie eine Linux-Umgebung unter Windows 10
Erstellen Sie eine Python-Umgebung in Centos
Erstellen Sie eine Python3-Umgebung unter CentOS7
Programmierumgebung für Anfänger mit Windows
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Erstellen Sie eine Python-Umgebung auf Ihrem Mac
Erstellen einer LaTeX-Umgebung unter Chrome OS
Erstellen wir eine virtuelle Umgebung für Python
Befehle zum Erstellen eines neuen Django-Projekts
[Mac] Erstellen einer virtuellen Umgebung für Python
Ich habe versucht, Kivy in einer Mac-Umgebung zu installieren
Hinweise zum Erstellen von Textformatierungswerkzeugen
Erstellen einer Datenanalyseanwendung mit Streamlit
Erstellen einer Conda-Umgebung für ROS-Benutzer
Ich habe eine TensorFlow-Umgebung mit Windows 10 erstellt
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Erstellen einer Cholera-Karte für John Snow
Erstellen einer virtuellen Umgebung in einer Anaconda-Umgebung
Datenanalyseumgebung mit Schwerpunkt auf Datalab (+ GCP)
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
JupyterLab Grundeinstellung 2 für die Datenanalyse (pip)
Erstellen einer Umgebung für "Tello_Video" mit Raspbian
JupyterLab Basic Setup für die Datenanalyse (pip)
Ich habe eine Bibliothek für versicherungsmathematische Versicherungen erstellt
Erstellen einer Umgebung für "Tello_Video" unter Windows
Bücher über Datenwissenschaft, die 2020 gelesen werden sollen
Bereiten Sie die Entwicklungsumgebung für Python unter AWS Cloud9 vor (Pip-Installation und Zeitumstellung)
Versuchen Sie, durch maschinelles Lernen basierend auf Wetterdaten eine "wetterkartenähnliche Front" zu zeichnen (5)
Versuchen Sie, durch maschinelles Lernen anhand von Wetterdaten eine "wetterkartenähnliche Front" zu zeichnen (3).