Docker Composeでflask開発環境構築
はじめに
flaskの開発環境をDockerで構築していきます。
Dockerfileでflaskアプリが実行されるコンテナイメージを用意し、Docker Composeで実行します。
Dockerについては下記を参考してください。
いまさらDocker入門
:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。
Docker Composeについては下記を参考にしてください。
Docker ComposeでNext.js開発環境構築
はじめに **Next.jsの開発環境をDockerで構築**していきます。 <b>Docke
flaskアプリ作成
まずはflaskのアプリを作成します。
flaskについては下記で解説しています。
いまさらFlask超入門
はじめに Flaskについて、これから使い始める人向けに超簡単なアプリを作成して、実行してみるま
まずはapp.py
にシンプルなアプリの実装をします。
1from flask import Flask
2
3app = Flask(__name__)
4
5
6@app.route("/")
7def index():
8 return "index page"
必要なライブラリをrequirements.txt
に記載しておきます。
1flask==2.0.1
以下のディレクトリ構成になります。
1.
2└── app
3 ├── app.py
4 └── requirements.txt
Dockerfile作成
次にflaskアプリを実行するコンテナイメージの元となるDockerfile
を作成します。
Pythonの公式イメージを利用して、FLASK_APP
の環境変数の設定とライブラリのインストールをしています。
1FROM python:3.9.7-slim-buster
2
3WORKDIR /usr/src/app
4ENV FLASK_APP=app
5
6COPY /app/requirements.txt ./
7
8RUN pip install --upgrade pip
9RUN pip install -r requirements.txt
https://hub.docker.com/_/python
docker-compose.yml作成
続いて、docker-compose.yml
を作成します。
flaskアプリを実行するときに--host=0.0.0.0
オプションを付けないとコンテナのアプリにアクセスできなくなります。
1version: "3"
2services:
3 app:
4 build: .
5 ports:
6 - "5000:5000"
7 container_name: app
8 volumes:
9 - ./app:/usr/src/app
10 command: flask run --host=0.0.0.0
最終的に以下のようなディレクトリ構成になります。
1.
2├── app
3│ ├── app.py
4│ └── requirements.txt
5├── Dockerfile
6└── docker-compose.yml
コンテナ実行
必要なファイルの準備が完了したので、コンテナを実行します。
1docker-compose up -d
localhost:5000
にアクセスするとアプリを確認することができます。