本教程演示使用 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、机器学习、生成式 AI 和 SAAS 内容,请点击以下链接:
以上是Docker 实践:通过示例 Flask 项目学习 Dockerfile、容器、端口转发的详细内容。更多信息请关注PHP中文网其他相关文章!