Flask Docker Demo 项目指南

360影视 日韩动漫 2025-05-14 16:15 1

摘要:以下是一份详细的Flask Docker Demo 项目指南,帮助你快速搭建一个容器化的 Flask 应用。

以下是一份详细的 Flask Docker Demo 项目指南,帮助你快速搭建一个容器化的 Flask 应用。

1. 项目目标

创建一个简单的 Flask 应用,并使用 Docker 将其容器化,实现以下功能:

运行一个返回 "Hello, Dockerized Flask!" 的 API通过 Docker Compose 管理容器化服务可选的扩展:添加 Redis 作为缓存服务

2. 环境准备

安装 Docker安装 Docker Compose(通常包含在 Docker Desktop 中)Python 3.x(本地开发可选)

3. 项目结构

bash

flask-docker-demo/

├── app/

│ ├── __init__.py

│ └── routes.py

├── requirements.txt

├── Dockerfile

└── docker-compose.yml

4. 分步实现

步骤 1: 创建 Flask 应用

新建项目目录并进入:

bash

mkdir flask-docker-demo && cd flask-docker-demo

创建 app 目录和代码文件:

python

# app/__init__.py

from flask import Flask

app = Flask(__name__)

from app import routes

python

# app/routes.py

from app import app

@app.route('/')

def hello:

return "Hello, Dockerized Flask!"

生成依赖文件 requirements.txt

txt

Flask==3.0.0

步骤 2: 编写 Dockerfile

dockerfile

# 使用官方 Python 基础镜像

FROM python:3.9-slim

# 设置工作目录

WORKDIR /app

# 复制依赖文件并安装

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

# 复制应用代码

COPY . .

# 暴露端口

EXPOSE 5000

# 启动命令

CMD ["flask", "run", "--host=0.0.0.0"]

步骤 3: 构建并运行 Docker 镜像

bash

# 构建镜像

docker build -t flask-docker-demo .

# 运行容器(映射端口 5000)

docker run -p 5000:5000 flask-docker-demo

访问 查看结果。

5. 使用 Docker Compose

创建 docker-compose.yml

yaml

version: '3.8'

services:

web:

build: .

ports:

- "5000:5000"

environment:

- FLASK_DEBUG=1

启动服务:

bash

docker-compose up --build

6. 扩展:添加 Redis 缓存

修改 docker-compose.yml

yaml

version: '3.8'

services:

web:

build: .

ports:

- "5000:5000"

environment:

- FLASK_DEBUG=1

depends_on:

- redis

redis:

image: "redis:alpine"

ports:

- "6379:6379"

更新 Flask 代码使用 Redis:

python

# routes.py

from flask import Flask

import redis

app = Flask(__name__)

cache = redis.Redis(host='redis', port=6379)

@app.route('/visits')

def visits:

count = cache.incr('visits')

return f"Total visits: {count}"

更新 requirements.txt

txt

Flask==3.0.0

redis==4.5.5

7. 常用命令

bash

# 停止并删除容器

docker-compose down

# 查看运行中的容器

docker ps

# 查看容器日志

docker-compose logs web

# 进入容器 Shell

docker exec -it /bin/bash

8. 常见问题

端口冲突:确保主机端口(如 5000)未被其他程序占用依赖安装失败:检查 requirements.txt 格式是否正确容器间通信问题:使用 Docker Compose 的服务名(如 redis)作为主机名缓存问题:构建时添加 --no-cache 参数重建镜像:

bash

docker-compose build --no-cache

9. 项目仓库示例

完整代码参考:GitHub Flask-Docker-Demo(虚构链接)

通过本指南,您已掌握如何将 Flask 应用 Docker 化,并实现多容器协作。下一步可探索:

Docker 网络配置数据卷持久化存储CI/CD 管道集成Kubernetes 部署

来源:老客数据一点号

相关推荐