Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook

Als Memorandum, weil ich jedes Mal vergesse, wie man es baut.

Dateiorganisation

project
    L Dockerfile
    L app.py

Dockerfile Da es eine Möglichkeit gibt, eine Bibliothek zu installieren, die Java verwendet, wird default-jdk hinzugefügt.

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

Erstellen eines Docker-Images

Wechseln Sie in das Dockerfile-Verzeichnis und führen Sie den Docker-Build-Befehl aus. Der Bau dauert einige Minuten.

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

# (-t Bildname)Entscheiden Sie den Bildnamen selbst
# (--force-rm=true)Wenn die Image-Erstellung fehlschlägt, wird das Image automatisch gelöscht

Erstellen eines Docker-Containers

Wenn Sie den Zeichenbefehl ausführen, wird das Jupyter-Notizbuch automatisch gestartet, sodass Sie das Jupyter-Notizbuch verwenden können, indem Sie auf die angezeigte URL zugreifen.

#Führen Sie den folgenden Befehl im selben Verzeichnis wie oben aus
$ 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=####################
#Eine Adresse wie diese wird angezeigt. Kopieren Sie daher jedes Token und fügen Sie es ein.

Installieren Sie zusätzliche Bibliotheken

Wenn Sie bei der Arbeit mit Jupyter Notebook die fehlende Bibliothek von außerhalb des Containers installieren möchten, geben Sie den Container mit dem folgenden Befehl ein.

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

#Wenn Sie den Container mit dem obigen Befehl betreten, wechselt das Terminal wie unten gezeigt.
root@Nutzername:/notebook#Hier können Sie Befehle eingeben.

#Installationsbeispiel
root@Nutzername:/notebook# pip install numpy

Aufbau der Kolbenumgebung

Erstellen Sie app.py im selben Verzeichnis wie Dockerfile und führen Sie den folgenden Code und Befehl aus, um die Anwendung zu starten.

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

Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook
Erstellen einer Analyseumgebung mit Docker (Jupyter Notebook + PostgreSQL)
Konstruktionsvorlage für die lokale Python-Entwicklungsumgebung [Flask / Django / Jupyter mit Docker + VS-Code]
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Virtuelle Umgebung mit Python 3.6
Webanwendung mit Python + Flask (unter Verwendung von VScode) # 1 - Aufbau einer virtuellen Umgebung-
Versuchen Sie, die virtuelle Umgebung von conda mit Jupyter Notebook zu verwenden
Von der Python-Umgebungskonstruktion zur virtuellen Umgebungskonstruktion mit Anaconda
Bereiten Sie die Python3-Umgebung mit Docker vor
Wechseln Sie die virtuelle Umgebung mit Jupiter
jupyter notebook in python3.8 venv umgebung
[Python] OpenCV-Umgebungskonstruktion mit Docker (cv2.imshow () funktioniert auch)
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Aufbau einer Pepper-Kun-Fernbedienungsumgebung mit Docker + IPython Notebook
Beginnen Sie mit Python! ~ ① Umweltbau ~
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Einfache Jupyter-Umgebungskonstruktion mit Cloud9
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen einer virtuellen Umgebung mit Python 3
[MEMO] [Aufbau der Entwicklungsumgebung] Jupyter Notebook
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
[Docker] Python3.5 + Numpy + Matplotlib-Umgebungskonstruktion
Anwendungsentwicklung mit Docker + Python + Flask
Reflektieren Sie die von Miniconda erstellte virtuelle Umgebung im Jupyter-Notizbuch
Vom Umgebungsaufbau bis zum Einsatz für Kolben + Heroku mit Docker
Ich möchte eine virtuelle Umgebung mit Jupyter Notebook verwenden!
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
Vue.js + Konstruktionsmemorandum zur Flaschenumgebung ~ mit Anaconda3 ~
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Umgebungskonstruktion (Python)
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
So verwenden Sie das Jupyter-Notebook, ohne Ihre Umgebung mit Docker zu verschmutzen
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Verknüpfung von Python und JavaScript mit dem Jupiter-Notizbuch
Aufbau einer Python-Umgebung
Starten Sie die Umgebung mit LineBot + Heroku + Docker + Python
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Kommen wir zu Python # 0 (Umgebungskonstruktion)
Erstellen einer Umgebung für Flask / MySql / Apache / mod_wsgi / virtualenv mit Redhat7 (Python2.7) November 2020
Ich wollte ein Jupyter-Notebook mit Docker in einer Pip-Umgebung (Opticspy) verwenden.
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
[Cloud102] # 1 Beginnen wir mit Python (Teil 2 Jupyter Notebook Construction AWS Edition)
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Virtuelle Python / Windows (Windows 10) -Umgebung / Paket mit VSCode
Erstellen Sie eine virtuelle Umgebung mit conda in Python
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Erstellen Sie mit Docker eine Umgebung aus Nginx + uWSGI + Python (Django)
Poetry-Virtualenv-Umgebungskonstruktion mit Centos-Sclo-Rh-Python ~ Hinweise
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!