首页 > 后端开发 > Python教程 > Docker 实践:通过示例 Flask 项目学习 Dockerfile、容器、端口转发

Docker 实践:通过示例 Flask 项目学习 Dockerfile、容器、端口转发

Susan Sarandon
发布: 2025-01-14 07:36:44
原创
383 人浏览过

本教程演示使用 Docker 构建和部署简单的 Flask 应用程序。 我们将介绍创建 Dockerfile、构建映像、运行容器,甚至将映像推送到 Docker Hub。 对于那些不熟悉 Docker 基础知识的人,请查看之前的文章:

让我们开始一个实践示例:

项目设置:

  1. 创建一个名为“flask-app”的目录。
  2. 在“flask-app”内,创建包含这个简单 Flask 应用程序的 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>
登录后复制
  1. 还在“flask-app”中,创建一个包含以下内容的 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>
登录后复制
  1. 最后,在“flask-app”目录下创建requirements.txt
<code>Flask==2.3.2</code>
登录后复制

您的目录结构现在应如下所示:

<code>flask-app/
├── Dockerfile
├── index.py
└── requirements.txt</code>
登录后复制

构建并运行 Docker 映像:

  1. 导航到终端中的“flask-app”目录。
  2. 使用以下命令构建 Docker 映像:
<code class="language-bash">docker build -t flask-app .</code>
登录后复制
  1. 验证镜像是否已成功构建:
<code class="language-bash">docker images</code>
登录后复制
  1. 运行 Docker 容器,将主机上的端口 5000 映射到容器中的端口 5000:
<code class="language-bash">docker run --name my-flask-app -d -p 5000:5000 flask-app</code>
登录后复制
  1. 检查正在运行的容器:
<code class="language-bash">docker ps -a</code>
登录后复制
  1. 通过在浏览器中访问 http://127.0.0.1:5000 或使用 curl:
  2. 来测试应用程序
<code class="language-bash">curl http://127.0.0.1:5000</code>
登录后复制
  1. 要停止并移除容器:
<code class="language-bash">docker container rm -f my-flask-app</code>
登录后复制
  1. 删除图像:
<code class="language-bash">docker image rm -f flask-app</code>
登录后复制

推送到 Docker Hub:

在推送到 Docker Hub 之前,如果您还没有帐户,请创建一个帐户。 然后:

  1. 为 Docker Hub 标记镜像(将 omerbsezer 替换为您的 Docker Hub 用户名):
<code class="language-bash">docker tag flask-app omerbsezer/dev-to-flask-app:latest</code>
登录后复制
  1. 推送图片:
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>
登录后复制

然后您可以在 Docker Hub 上看到您的镜像。 屏幕截图将放置在此处。

Docker Hands-on: Learn Dockerfile, Container, Port Forwarding with Sample Flask Project

结论:

这个实际示例演示了使用 Docker 容器化简单 Python 应用程序的完整工作流程。 如需更多 Docker 教程、AWS、Kubernetes、Linux、DevOps、Ansible、机器学习、生成式 AI 和 SAAS 内容,请点击以下链接:

以上是Docker 实践:通过示例 Flask 项目学习 Dockerfile、容器、端口转发的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板