GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So erstellen Sie einen Anaconda Python Data Science Docker-Container

In diesem Artikel erstellen wir einen Docker-Container für die Entwicklungsumgebung für maschinelles Lernen (ML). Dieses Bild ist sehr nützlich, wenn Sie ML-Modelle entwickeln oder ein vorkonfiguriertes Jupyter-Notebook mit einigen der nützlichsten Bibliotheken benötigen.

Kürzlich haben wir einen Artikel Quick And Simple Introduction to Kubernetes Helm Charts in 10 minutes veröffentlicht, in dem Sie Anweisungen zur Verwendung von Helm zur Bereitstellung dieses Containers in Ihrem Kubernetes-Cluster finden.

Update für 2020

  • Aktualisiert auf Python 3.6.
  • Viele Build-Probleme behoben.

Letztes Mal haben wir einen Docker-Container mit Jupiter, Keras, Tensorflow, Pandas, Sklearn und Matplotlib erstellt. Plötzlich verstand ich, dass ich OpenCV für Docker-Bild- und Videomanipulationen vermisst habe. Nun, ich verbrachte den ganzen Tag damit, einen neuen Image-Build vorzubereiten. Und in diesem Artikel zeige ich Ihnen, wie Sie es mit dem offiziellen Docker-Image von Anaconda viel schneller machen können.

Dafür gibt es zwei Möglichkeiten.

Einfacher Weg

Dieser Vorgang dauert ungefähr 7 Minuten, um den Container mit einer Größe von 3,11 GB zu erstellen.

Anaconda-Weg

Als ich 2018 anfing, mit ML zu spielen, war Anaconda eine superschnelle und einfachste Möglichkeit, Docker-Container für ML-Experimente zu erstellen. Es war viel schneller, dann OpenCV 3 für Ubuntu 16.04 zu kompilieren. Heute ist es umgekehrt.

Ich verwende dieselben Quellen, ändere aber Dockerfile .

So sieht es aus:

FROM continuumio/anaconda3
MAINTAINER "Andrei Maksimov"

RUN apt-get update && apt-get install -y libgtk2.0-dev && \
    rm -rf /var/lib/apt/lists/*

RUN /opt/conda/bin/conda update -n base -c defaults conda && \
    /opt/conda/bin/conda install python=3.6 && \
    /opt/conda/bin/conda install anaconda-client && \
    /opt/conda/bin/conda install jupyter -y && \
    /opt/conda/bin/conda install --channel https://conda.anaconda.org/menpo opencv3 -y && \
    /opt/conda/bin/conda install numpy pandas scikit-learn matplotlib seaborn pyyaml h5py keras -y && \
    /opt/conda/bin/conda upgrade dask && \
    pip install tensorflow imutils

RUN ["mkdir", "notebooks"]
COPY conf/.jupyter /root/.jupyter
COPY run_jupyter.sh /

# Jupyter and Tensorboard ports
EXPOSE 8888 6006

# Store notebooks in this mounted directory
VOLUME /notebooks

CMD ["/run_jupyter.sh"]

Wie Sie sehen können, installieren wir nur libgtk2.0 für OpenCV-Unterstützung und alle anderen Komponenten wie Terraform, Pandas, Scikit-learn, Matplotlib, Keras und andere mit dem Conda-Paketmanager.

Laufender Container

Jetzt haben Sie einen funktionierenden Container und es ist Zeit, ihn zu starten. Erstellen Sie einen Ordner innerhalb des Ordners Ihres Projekts, in dem wir alle unsere Jupyter Noteboos mit dem Quellcode unserer Projekte speichern:

mkdir notebooks

Und starten Sie den Container mit dem folgenden Befehl:

docker run -it -p 8888:8888 -p 6006:6006 \
    -d -v $(pwd)/notebooks:/notebooks \
    python_data_science_container:anaconda

Der Container wird gestartet und Jupyter auf Port 8888 verfügbar gemacht und Tensorflow-Dashboard auf Port 6006 auf Ihrem lokalen Computer oder Ihrem Server, je nachdem, wo Sie diesen Befehl ausführen.

Wenn Sie keinen eigenen Container erstellen und pflegen möchten, können Sie gerne meinen persönlichen Container verwenden:

docker run -it -p 8888:8888 -p 6006:6006 -d -v \
    $(pwd)/notebooks:/notebooks amaksimov/python_data_science:anaconda

Installation zusätzlicher Pakete

Sobald Sie Jupyter gestartet haben, fehlen möglicherweise einige Pakete für Sie und es ist in Ordnung. Fühlen Sie sich frei, den folgenden Befehl in einer Zelle Ihres Jupyter-Notebooks auszuführen:

!pip install requests

Oder für conda:

!conda install scipy

Ich hoffe, dieser Artikel war hilfreich für Sie. Wenn ja, bitte liken oder reposten. Bis bald!

Zusammenfassung

Die Verwendung von Anaconda als Basis-Image macht Ihr Docker-Image schwer. Ich meine WIRKLICH schwer.

Zum Beispiel:

docker images

REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
amaksimov/python_data_science       anaconda            7021f28dfba1        29 minutes ago      6.36GB
amaksimov/python_data_science       latest              3330c8eaec1c        2 hours ago         3.11GB

Die Installation aller Komponenten im Ubuntu 20.04 LTS-Container-Image einschließlich OpenCV 3 dauert ca. 7 Minuten und das endgültige Image ca. 3,11 GB.

Gleichzeitig dauert der Erstellungsprozess des Anaconda3-Containers x2-mal länger und Sie erhalten ein x2-mal größeres Image (~6,36 GB). Der Erstellungsprozess ist viel komplizierter als im Jahr 2018, und ich brauchte eine Weile, um die Konfiguration auf einen funktionierenden Zustand zu aktualisieren.

Wir hoffen, Sie fanden diesen Artikel hilfreich. Wenn ja, helfen Sie uns bitte, es in der Welt zu verbreiten!


Docker
  1. So installieren Sie WordPress mit Docker

  2. So weisen Sie einem Docker-Container eine statische IP zu

  3. So teilen Sie Daten zwischen Docker-Containern

  4. So installieren Sie Vim in einem Docker-Container

  5. So listen Sie Docker-Container auf

So führen Sie PHPMyAdmin in einem Docker-Container aus

So führen Sie Grafana in einem Docker-Container aus

So erstellen Sie ein Docker-Windows-Image mit Docker-Build-Tag

So richten Sie einen Apache Docker-Container ein

So führen Sie Docker-Container aus

So installieren Sie Anaconda unter Linux für Data Science Wins!