はじめに
Dockerfileの書き方の勉強を兼ねて、flaskのquickstartのminimal applicationをdockerd動作させてみます。
https://flask.palletsprojects.com/en/stable/quickstart/
環境情報
Component | Version |
---|---|
PC | M1 MacBook Pro |
OS | macOS 15.5 |
Docker Desktop | 4.42.0 |
quickstartのminimal application
flaskのquickstartのminimal applicationです。
/にアクセスするとHello, World!と表示するだけです。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
Dockerfileを作成
続いて、Dockerfileを作成します。
baseimageはubuntu:24.04にしました。
pipでflaskをインストールするのではなく、ubuntu:24.04で提供されているflaskのパッケージをインストールします。
flask runコマンドでアプリケーションを起動するときに、簡単に確認するため全てのIPからのアクセスを許可するように設定しました。
FROM ubuntu:24.04
RUN apt update
RUN apt install -y python3-flask
WORKDIR /app
COPY ./app.py /app/
CMD ["flask", "run", "--host=0.0.0.0"]
実行と確認
app.pyとDockerfileがあるディレクトリで以下のコマンドを実行します。
docker buildx build -t flask-app .
docker run --name flask-app -it -p 5000:5000 flask-app
以下のURLにアクセスして、Hello, World!と表示されたら成功です。
http://localhost:5000/
最後に
flaskのquickstartに記載されているminimal applicationをDockerで動作させてみました。