概要
DockerコンテナでFlaskを起動して、ブラウザで確認を行います。
環境
MacOS 10.14.1
Docker for Mac 2.0.0.0-mac78
Docker Engine 18.09.0
Python 3.7.1
Pythonのインストール・環境構築はこちら
Docker、Docker for Mac のインストール・環境構築はこちら
ディレクトリ構成
ディレクトリ構成はシンプルで、Dockerコンテナの構成内容をまとめて記述した Dockerfile と、Python のプログラムが記述された app.py の2ファイルです。
flask/
├ Dockerfile
└ app.py
ソース
Dockerfile
# ベースイメージに python v3.7 を使用
FROM python:3.7
# RUN, CMD コマンドで使われる作業ディレクトリの指定
WORKDIR /app
# カレントディレクトリをコンテナ上の 「/app」 にコピー
COPY . /app
# Flaskのインストール
RUN pip install Flask
# コンテナ起動時に実行されるコマンド
CMD ["python", "app.py"]
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World"
if __name__ == "__main__":
app.run(host='0.0.0.0')
Dockerイメージのビルド
dockerコマンドでDockerfileからdockerイメージのビルドを行います。
$ docker build -t flask .
Dockerイメージの実行
dockerコマンドでdockerイメージの実行を行います。
$ docker run -d -p 80:5000 flask:latest
ブラウザ確認
ブラウザからhttp://localhostに接続して”Hello World”が表示されれば成功です!