Docker + Flask(Python) + Jupyter notebookによる仮想環境構築
毎回構築の方法を忘れるため、備忘録として。
ファイル構成
project
L Dockerfile
L app.py
Dockerfile
project
L Dockerfile
L app.py
javaを利用するライブラリをインストールする可能性があるので、default-jdkを追加しています。
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
Docker imageの作成
Dockerfileのディレクトリに移動して、docker buildコマンドを実行。構築に数分かかります。
$ cd project
$ docker build -t image_name --force-rm=true .
# (-t イメージ名) イメージ名を自分で決定
# (--force-rm=true) イメージのビルドに失敗したら、イメージを自動で削除する
Docker containerの作成
描きコマンドを実行すると、自動でJupyter notebookが起動するので、表示されたURLにアクセスするとJupyter notebookが利用できる。
# 上と同じディレクトリで下記コマンド実行
$ 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=####################
# こんな感じのアドレスが出てくるため、tokenごとコピペする。
追加のライブラリをインストール
Jupyter notebookで作業している時に、足りないライブラリをインストールしたい場合は、コンテナの外から、下のコマンドでコンテナの中に入る。
$ cd project
$ docker exec -it container_name /bin/bash
# 上記コマンドでコンテナ内に入ると、ターミナルが下のように切り替わる。
root@ユーザー名:/notebook# ここにコマンドを入力できるようになる。
# インストールの例
root@ユーザー名:/notebook# pip install numpy
Flaskの環境構築
app.pyをDockerfileと同じディレクトリに作成して、下記コードとコマンドを実行すると、アプリケーションが立ち上がります。
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
Author And Source
この問題について(Docker + Flask(Python) + Jupyter notebookによる仮想環境構築), 我々は、より多くの情報をここで見つけました https://qiita.com/fumitrial8/items/06be4b84a5f50faed307著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .