简单的 Python Web 应用 Docker 化案例
在这个案例中,我们将展示如何使用 Docker 容器化一个简单的 Python Web 应用。我们将创建一个基于 Flask 框架的 Hello World 应用,并使用 Docker 和 Docker Compose 管理容器化环境。
1. 创建 Python Web 应用
首先,创建一个简单的 Python Flask 应用,用于展示一个简单的 Hello World 页面。
app.py:
from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello():return "Hello, Dockerized Flask App!"if __name__ == '__main__':app.run(debug=True, host='0.0.0.0')
2. 编写 Dockerfile
创建 Dockerfile,用于构建 Docker 镜像并运行我们的 Flask 应用。
Dockerfile:
# 使用官方 Python 运行时镜像
FROM python:3.9-slim# 设置工作目录
WORKDIR /app# 复制当前目录的内容到容器的工作目录
COPY . .# 安装 Flask 和依赖
RUN pip install --no-cache-dir -r requirements.txt# 暴露应用运行的端口
EXPOSE 5000# 定义环境变量
ENV FLASK_APP=app.py# 运行 Flask 应用
CMD ["flask", "run", "--host=0.0.0.0"]
3. 编写 Docker Compose 配置文件
使用 Docker Compose 管理容器服务,包括我们的 Flask 应用。
docker-compose.yml:
version: '3'
services:web:build: .ports:- "5000:5000"
4. 构建和运行 Docker 容器
现在,我们可以构建和运行我们的 Docker 容器。
在项目根目录下执行以下命令:
# 构建 Docker 镜像
docker-compose build# 启动服务
docker-compose up
5. 访问应用程序
Flask 应用将在 http://localhost:5000
上运行,通过浏览器或 curl 访问可以看到 “Hello, Dockerized Flask App!” 的输出。
通过这个案例,我们学会了如何使用 Docker 和 Docker Compose 来容器化一个简单的 Python Web 应用。希望这套简化的流程能够帮助读者快速理解 Docker 的基本使用和工作原理。