🚀

FlaskとDockerのさわりだけやってみた

2024/10/02に公開

🌟 はじめに

おぐまです。

Pythonの軽量WebフレームワークであるFlaskで公式Quickスタート[1]の初めのWebアプリケーション開発の部分と、Dockerを使ってコンテナ化してみました。将来的にはより複雑なアプリケーションの開発やデプロイメントに活かしていきます!

👷‍♂️ 事前準備

  • 必要なツールやライブラリ: Python、Flask、Docker
  • 基本的な知識要件やスキルセット: Pythonプログラミング、基本的なWeb開発の理解、コンテナの基礎知識

💻 開発環境

  • Python 3.9
  • Flask 2.0.1
  • Docker 20.10.7

📝 やったこと

👉 Flaskアプリの初期構築

まず、シンプルなFlaskアプリを作成してみます。

  1. プロジェクトディレクトリの準備:
python3 -m venv quick_flask
cd quick_flask
source bin/activate
  1. Flaskのインストール:
pip install Flask
  1. アプリケーションのコード:
    app.pyファイルを作成し、以下のコードを記述します。
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"
  1. アプリケーションの実行:
flask run

ブラウザを開いて http://127.0.0.1:5000/ にアクセスし、"Hello, World!" が表示されることを確認します。

👉 Dockerを使ったアプリのコンテナ化

次に、作成したFlaskアプリをDockerコンテナ内で実行します。

  1. Dockerfileの作成:
    プロジェクトルート(今回はquick_flaskディレクトリ直下)に Dockerfile を作成し、以下の内容を記述します。
FROM python:3.9-slim
WORKDIR /app
COPY . /app
RUN pip install Flask
EXPOSE 5000
CMD ["flask", "run", "--host=0.0.0.0"]
  1. Dockerイメージのビルド:
docker build -t quick_flask .
  1. Dockerコンテナの実行:
docker run -p 5000:5000 quick_flask

再びブラウザで http://127.0.0.1:5000/ にアクセスし、コンテナ内でアプリが実行されていることを確認します。

🎉 まとめ

Flaskを使った簡単なWebアプリケーションの開発から始め、Dockerを使用してそのアプリケーションをコンテナ化やってみました。
めちゃくちゃ簡単、、とおもったら1つ躓きましたがそれぞれドキュメント読み始めて20分くらいでできました!

FlaskもDockerもなんとなく理解したので応用でなんか作ってみたいと思います。

💡 補足

https://qiita.com/rune187/items/3f92baec61458e4e5949
https://github.com/9mak/playground/tree/main/python/quick_flask

脚注
  1. https://flask.palletsprojects.com/en/3.0.x/quickstart/ ↩︎

GitHubで編集を提案
株式会社エーピーコミュニケーションズ

Discussion