はじめに
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.txtDockerfile作成
次に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.txtpython - Official Image | Docker Hub
Python is an interpreted, interactive, object-oriented, open-source programming language.
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 -dlocalhost:5000にアクセスするとアプリを確認することができます。




