このチュートリアルでは、Docker を使用した単純な Flask アプリケーションの構築とデプロイについて説明します。 Dockerfile の作成、イメージの構築、コンテナーの実行、さらにはイメージの Docker Hub へのプッシュについても説明します。 Docker の基礎に詳しくない方は、以前の投稿をご覧ください:
実際の例から始めましょう:
プロジェクトのセットアップ:
index.py
を作成します。<code class="language-python"># index.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", port=int("5000"), debug=True)</code>
Dockerfile
(拡張子なし) を作成します。<code class="language-dockerfile">FROM python:3.13.1-alpine3.21 WORKDIR /app COPY . /app RUN pip install -r requirements.txt EXPOSE 5000 CMD ["python", "index.py"]</code>
requirements.txt
を作成します。<code>Flask==2.3.2</code>
ディレクトリ構造は次のようになります:
<code>flask-app/ ├── Dockerfile ├── index.py └── requirements.txt</code>
Docker イメージの構築と実行:
<code class="language-bash">docker build -t flask-app .</code>
<code class="language-bash">docker images</code>
<code class="language-bash">docker run --name my-flask-app -d -p 5000:5000 flask-app</code>
<code class="language-bash">docker ps -a</code>
http://127.0.0.1:5000
にアクセスするか、curl
:<code class="language-bash">curl http://127.0.0.1:5000</code>
<code class="language-bash">docker container rm -f my-flask-app</code>
<code class="language-bash">docker image rm -f flask-app</code>
Docker Hub へのプッシュ:
Docker Hub にプッシュする前に、アカウントをまだお持ちでない場合は作成してください。 次に:
omerbsezer
を Docker Hub のユーザー名に置き換えます):<code class="language-bash">docker tag flask-app omerbsezer/dev-to-flask-app:latest</code>
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>
これで、Docker Hub でイメージを確認できるようになります。 スクリーンショットがここに配置されます。
結論:
この実践的な例は、Docker を使用して単純な Python アプリケーションをコンテナ化するための完全なワークフローを示しています。 その他の Docker チュートリアル、AWS、Kubernetes、Linux、DevOps、Ansible、Machine Learning、Generative AI、SAAS コンテンツについては、次のリンクをクリックしてください:
以上がDocker ハンズオン: サンプル Flask プロジェクトで Dockerfile、コンテナ、ポート フォワーディングを学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。