Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter

Comme mémorandum car j'oublie à chaque fois comment le construire.

organisation des fichiers

project
    L Dockerfile
    L app.py

Dockerfile Puisqu'il est possible d'installer une bibliothèque qui utilise java, default-jdk est ajouté.

Dockerfile


FROM python:3.6
RUN apt-get update && apt-get install -y \
    default-jdk \
    build-essential \
    gfortran \
    libblas-dev \
    liblapack-dev \
    libxft-dev \
    swig \
    && rm -rf /var/lib/apt/lists/*
RUN echo 'export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' >> ~/.bash_profile && \
    . ~/.bash_profile && \
    cd ~ &&\
    git clone https://github.com/taku910/mecab.git && \
    cd mecab/mecab && \
    ./configure  --enable-utf8-only && \
    make && \
    make check && \
    make install && \
    cd ../mecab-ipadic && \
    ./configure --with-charset=utf8 && \
    make && \
    make install &&\
    cd ~ &&\
    git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git && \
    cd mecab-ipadic-neologd && \
    ./bin/install-mecab-ipadic-neologd -n -y
RUN pip3 install --upgrade pyzmq --install-option="--zmq=bundled" && \
    pip3 install --upgrade jupyter && \
    pip3 install --upgrade \
    pandas \
    neologdn \
    Flask \
    numpy \
    Pillow \
    tensorflow \
ENV LD_LIBRARY_PATH "/usr/local/lib:$LD_LIBRARY_PATH"
VOLUME /notebook
WORKDIR /notebook
EXPOSE 8888
ENTRYPOINT jupyter notebook --ip=0.0.0.0 --allow-root --no-browser

Créer une image Docker

Accédez au répertoire Dockerfile et exécutez la commande docker build. La construction prendra quelques minutes.

$ cd project
$ docker build -t image_name --force-rm=true .

# (-t nom de l'image)Décidez vous-même du nom de l'image
# (--force-rm=true)Si la création de l'image échoue, l'image sera supprimée automatiquement

Créer un conteneur Docker

Lorsque vous exécutez la commande de dessin, le notebook Jupyter démarre automatiquement, vous pouvez donc utiliser le notebook Jupyter en accédant à l'URL affichée.

#Exécutez la commande suivante dans le même répertoire que ci-dessus
$ docker run -v `pwd`:/notebook -p 8888:8888 -p 5000:5000 -it --name container_name image_id /bin/bash

# http://127.0.0.0:8888/?token=####################
#Une adresse comme celle-ci apparaîtra, alors copiez et collez chaque jeton.

Installer des bibliothèques supplémentaires

Si vous travaillez sur un notebook Jupyter et que vous souhaitez installer les bibliothèques manquantes, de l'extérieur du conteneur, entrez le conteneur avec la commande ci-dessous.

$ cd project
$ docker exec -it container_name /bin/bash

#Lorsque vous entrez dans le conteneur avec la commande ci-dessus, le terminal bascule comme indiqué ci-dessous.
root@Nom d'utilisateur:/notebook#Vous pourrez entrer des commandes ici.

#Exemple d'installation
root@Nom d'utilisateur:/notebook# pip install numpy

Construction de l'environnement de flacon

Créez app.py dans le même répertoire que Dockerfile et exécutez le code et la commande suivants pour démarrer l'application.

app.py


from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return "Hello World!"

if __name__ == '__main__':
    app.run()
$ python hello.py

Recommended Posts

Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
Construire un environnement d'analyse avec Docker (jupyter notebook + PostgreSQL)
Modèle de construction d'environnement de développement local Python [Flask / Django / Jupyter avec Docker + VS Code]
Créer un environnement Jupyter Lab (Python) avec Docker
Environnement virtuel avec Python 3.6
Application Web réalisée avec Python + Flask (en utilisant VScode) # 1-Construction d'environnement virtuel-
Essayez d'utiliser l'environnement virtuel conda avec Jupyter Notebook
De la construction d'environnement Python à la construction d'environnement virtuel avec anaconda
Préparer l'environnement python3 avec Docker
Changer d'environnement virtuel avec jupyter
notebook jupyter dans l'environnement venv python3.8
[Python] Construction de l'environnement OpenCV avec Docker (cv2.imshow () fonctionne également)
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Construction de l'environnement de contrôle à distance Pepper-kun avec Docker + IPython Notebook
Commencez avec Python! ~ ① Construction de l'environnement ~
Construire un environnement Mysql + Python avec docker
Construction d'un environnement Jupyter facile avec Cloud9
Créez un environnement virtuel avec Python!
Créer un environnement virtuel avec Python 3
[MEMO] [Construction de l'environnement de développement] Jupyter Notebook
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Construction de l'environnement pytorch @ python3.8 avec pipenv
[docker] Construction de l'environnement python3.5 + numpy + matplotlib
Développement d'applications avec Docker + Python + Flask
Refléter l'environnement virtuel créé par Miniconda dans le notebook Jupyter
De la construction de l'environnement au déploiement pour flask + Heroku avec Docker
Je souhaite utiliser un environnement virtuel avec jupyter notebook!
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Vue.js + Mémorandum de construction de l'environnement Flask ~ avec Anaconda3 ~
[Python] Créez un environnement virtuel avec Anaconda
Construction d'environnement (python)
Créer un environnement Python + uWSGI + Nginx avec Docker
Comment utiliser Jupyter Notebook sans polluer votre environnement avec Docker
construction d'environnement python
Python - Construction de l'environnement
Lier Python et JavaScript avec le notebook Jupyter
Construction de l'environnement Python
Environnement de lancement avec LineBot + Heroku + Docker + Python
Créez un environnement virtuel pour python avec pyenv
Entendons-nous bien avec Python # 0 (Construction de l'environnement)
Création d'un environnement pour Flask / MySql / Apache / mod_wsgi / virtualenv avec Redhat7 (Python2.7) Novembre 2020
Je voulais utiliser le notebook jupyter avec docker dans l'environnement pip (opticspy)
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
[Cloud102] # 1 Commençons avec Python (Partie 2 Jupyter Notebook Construction AWS Edition)
Collecter des informations depuis Twitter avec Python (construction de l'environnement)
Préparer l'environnement d'exécution de Python3 avec Docker
Environnement virtuel / package Python (Windows10) avec VSCode
Créer un environnement virtuel avec conda avec Python
[Python] Créer un environnement de développement Django avec Docker
Installation de Python 3 et Flask [Résumé de la construction de l'environnement]
Créer un environnement de Nginx + uWSGI + Python (Django) avec docker
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
Travaillez dans un environnement virtuel avec Python virtualenv.
Premier python ① Construction de l'environnement avec pythonbrew & Hello World !!