本文将指导您如何使用 Docker 和 Docker Compose 快速部署一个简单的 Flask 应用程序。我们将从零开始,逐步构建所需的文件和配置。
项目结构准备
首先,创建一个项目文件夹,并按照以下结构组织文件:
project_folder/
│
├── app/
│ └── app.py
│
├── Dockerfile
└── requirements.txt
Flask 应用程序
在 app
文件夹中,创建一个名为 app.py
的 Python 文件,包含以下 Flask 应用程序代码:
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
依赖文件
在项目根目录下创建 requirements.txt
文件,并添加 Flask 作为依赖:
Flask
Dockerfile 配置
在项目根目录下创建 Dockerfile
,用于定义容器的构建步骤:
# 使用官方 Python 3 镜像作为基础镜像
FROM python:3
# 设置工作目录
WORKDIR /app
# 复制 requirements.txt 到 /app 目录下
COPY requirements.txt .
# 安装依赖
RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 复制 Flask 应用到 /app 目录
COPY app /app
# 设置容器启动时执行的命令
CMD ["python", "app.py"]
Docker Compose 文件
接下来,创建 docker-compose.yml
文件,以便使用 Docker Compose 来构建和运行容器:
version: '3.8'
services:
python310:
build: .
container_name: python310_container
volumes:
- ./app:/app
working_dir: /app
ports:
- "5000:5000"
command: python app.py
构建与运行
现在,一切准备就绪。在项目根目录下运行以下命令,构建并启动您的 Docker 容器:
docker-compose up --build
容器构建完成并运行后,Flask 应用将在端口 5000 上监听。通过访问 http://localhost:5000/
,您可以看到应用返回的 “Hello, Docker!” 消息。
结语
通过本文的指南,您可以看到,使用 Docker 和 Docker Compose 部署 Flask 应用是一个简单直接的过程。此方法不仅能加快开发和部署的速度,还能确保应用在不同环境中的一致性。希望这篇文章能帮助您更好地理解和使用 Docker 来部署您的 Flask 应用。