[PYTHON] Dockerfile pour créer un environnement de science des données basé sur pip3

Choses à faire

En parlant de conteneurs Docker pour la science des données, il existe scipy-notebook distribué par jupyter official, mais si vous regardez le Dockerfile, il est basé sur conda. Il est écrit. Mais je ne veux pas utiliser le conda pour des raisons religieuses. Donc, cette fois, j'écrirai un Dockerfile pour créer un environnement pour la science des données basé sur pip3.

Articles référencés L'histoire de la tentative de création d'un environnement d'apprentissage automatique à l'aide de Docker

politique

・ Basé sur l'image Docker officielle de Python ・ Utilisez pip3 -Charger uniquement les modules requis à partir de requirements.txt ・ Je souhaite me connecter à BigQuery avec google-cloud-bigquery, alors insérez le SDK Cloud ・ Je veux visualiser avec jupyterlab + plotly, alors insérez Node.js

Ce qui a été fait

Dockerfile

#Python 3.Basé sur 8
#référence: 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-Requis lors de l'installation de sdk
    && pip3 install --upgrade pip

#Changer de répertoire de travail,Tu n'as pas à
# WORKDIR /home/{Nom d'utilisateur approprié}

#Exigences créées à l'avance et dans le même dossier que le Dockerfile.Installez txt
COPY requirements.txt ${PWD}
RUN pip3 install -r requirements.txt

#Installez le SDK Cloud
# 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

#Nœud à utiliser de manière intrigue.installer 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

#Prise en charge parcellaire avec 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=

Écrivez les modules à installer cette fois dans requirements.txt. La version fixe est votre choix

requirements.txt


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

Comment utiliser

Placez les deux fichiers ci-dessus dans un dossier approprié et déplacez-vous vers ce répertoire. Après cela, vous pouvez exécuter les commandes suivantes dans l'ordre

#Créer une image Docker
docker build --rm -t {Nom de l'image Docker} .
#Créer un conteneur Docker
#Redirection de port pour se connecter à l'intérieur et à l'extérieur de Docker(-p)Faire
#Montez un dossier en dehors de Docker afin que les fichiers ne disparaissent pas même si vous supprimez le conteneur Docker(-v)Faire
docker run -itp {Port à l'extérieur du conteneur}:{Port dans le conteneur} -v {Chemin absolu du dossier en dehors du conteneur,À la fin"/"N'attachez pas}:{Chemin absolu de l'endroit où vous souhaitez monter le dossier dans le conteneur+Le nom du dossier à monter dans Docker} --name {Le nom du conteneur} {Nom de l'image à partir de laquelle il a été créé} /bin/bash
#Démarrez Jupyter
jupyter lab --ip=0.0.0.0 --allow-root --port {Port dans le conteneur}

Autres

#certification SDK cloud
gcloud init
# google-cloud-Authentification API pour bigquery
hogehoge
export GOOGLE_APPLICATION_CREDENTIALS={Chemin absolu du fichier d'authentification}
export GOOGLE_CLOUD_PROJECT={Nom du projet à connecter}

Recommended Posts

Dockerfile pour créer un environnement de science des données basé sur pip3
Créer un environnement de développement pour l'apprentissage automatique
Points à surveiller lors de la création d'un environnement Python sur un Mac
Créez rapidement un environnement python pour le Deep Learning / Data Science (Windows)
Un outil pour créer des liens symboliques sous Windows
J'ai essayé de créer un Dockerfile pour l'environnement de développement de Django
Commandes pour créer un environnement python3 avec virtualenv
Créer un environnement Kubernetes pour le développement sur Ubuntu
Procédure de création d'un environnement d'isolation Python (environnement venv)
Notes sur la création d'un environnement python par les débutants
Créez un environnement de développement local pour Laravel6.X sur votre Mac
Un mémo pour créer un environnement de développement python avec macOS Catalina
Procédure de création d'un environnement CDK sous Windows (Python)
Procédure de création d'un Line Bot sur AWS Lambda
Remarques sur la création d'un environnement virtuel avec Anaconda Navigator
Recommandation de Jupyter Notebook, un environnement de codage pour les data scientists
Essayez «100 coups sur la science des données» ①
Créer un environnement d'analyse de données python sur Mac (El Capitan)
Créer un environnement virtuel pour python sur mac [Très facile]
Créez un environnement python sur CentOS 7.7 pour votre serveur domestique
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Installer Networkx dans l'environnement Python 3.7 pour une utilisation dans les livres de science des données sur les logiciels malveillants
Créer un Ubuntu de démarrage USB avec un environnement Python pour l'analyse des données
Construire un environnement Python sur Mac
Démarrez la science des données dans le cloud
Construire un environnement Python sur Ubuntu
Créer un environnement Python sur Mac (2017/4)
Créer un environnement Linux sur Windows 10
Créer un environnement python dans centos
Créer un environnement python3 sur CentOS7
Environnement de programmation pour les débutants réalisé avec Windows
Construire un environnement python sur MacOS (Catallina)
Créez un environnement python sur votre Mac
Création d'un environnement LaTeX sur Chrome OS
Créons un environnement virtuel pour Python
Commandes pour créer un nouveau projet django
[Mac] Création d'un environnement virtuel pour Python
J'ai essayé d'installer Kivy dans un environnement Mac
Remarques sur la création d'outils de mise en forme de texte
Création d'une application d'analyse de données à l'aide de Streamlit
Construire un environnement conda pour les utilisateurs de ROS
J'ai construit un environnement TensorFlow avec windows10
Créer un environnement Python + OpenCV sur Cloud9
Créer une carte du choléra pour John Snow
Créer un environnement virtuel dans un environnement Anaconda
Environnement d'analyse de données centré sur Datalab (+ GCP)
Créer un environnement de développement Python pour le développement de l'IA
JupyterLab Basic Setting 2 pour l'analyse des données (pip)
Construire un environnement pour "Tello_Video" avec Raspbian
Configuration de base de JupyterLab pour l'analyse des données (pip)
J'ai fait une bibliothèque pour l'assurance actuarielle
Création d'un environnement pour "Tello_Video" sous Windows
Livres sur la science des données à lire en 2020
Préparer l'environnement de développement pour Python sur AWS Cloud9 (installation de pip et changement d'heure)
Essayez de dessiner un "front de type carte météorologique" par apprentissage automatique basé sur des données météorologiques (5)
Essayez de dessiner un "front de type carte météo" par apprentissage automatique basé sur les données météorologiques (3)