【云原生实战】5分钟入门Docker:快速部署Python Web应用
一、Docker是什么?
Docker 是一个开源的容器化平台,可以将应用程序及其运行依赖打包成镜像,并通过容器运行。
相比传统部署方式,Docker 具有以下优势:
-
环境一致: 减少开发、测试和生产环境之间的差异。
-
快速部署: 通过镜像快速创建应用运行环境。
-
轻量高效: 容器共享宿主机内核,通常比完整虚拟机占用更少资源。
-
方便迁移: 应用镜像可以在兼容的容器环境中运行。
二、环境准备
本次实践需要准备:
-
已安装 Docker 的 Linux、Windows 或 macOS 环境
-
Python 基础知识
-
可正常使用的终端工具
首先检查 Docker 是否安装成功:
docker --version
如果能够正常输出 Docker 版本信息,说明 Docker 命令已安装。
三、实战:部署一个Python Web应用
1. 编写Python代码
创建项目目录,并新建 app.py 文件:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello Docker! 我的第一个容器化应用"
这段代码使用 Flask 框架创建了一个简单的 HTTP 接口,访问根路径即可返回欢迎信息。
2. 创建依赖文件
新建 requirements.txt:
Flask>=3.1,<4
gunicorn>=23,<24
其中 Flask 负责处理 Web 请求,Gunicorn 用于运行 Python Web 服务。
3. 编写Dockerfile
在项目目录下创建 Dockerfile:
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app.py .
EXPOSE 5000
CMD ["gunicorn", "-b", "0.0.0.0:5000", "app:app"]
代码说明:
-
FROM:指定基础镜像。 -
WORKDIR:设置容器工作目录。 -
COPY:将项目文件复制到镜像中。 -
RUN:安装应用依赖。 -
CMD:指定容器启动命令。
4. 构建并运行容器
在项目目录中执行:
docker build -t my-python-app .
镜像构建成功后,启动容器:
docker run -d --name python-demo \
-p 127.0.0.1:5000:5000 my-python-app
启动成功后,在本机浏览器访问:
http://localhost:5000
预期页面显示:
Hello Docker! 我的第一个容器化应用
至此,我们便完成了一个简单 Python Web 应用的容器化部署。
四、常用Docker命令
在日常开发中,可以使用以下命令管理容器:
# 查看运行中的容器
docker ps
# 查看容器日志
docker logs python-demo
# 停止容器
docker stop python-demo
# 删除已停止的容器
docker rm python-demo
熟悉这些基础命令,有助于后续进行容器管理与问题排查。
五、总结
通过本次实践,我们了解了 Docker 的基本概念,并完成了 Python Web 应用从代码编写、镜像构建到容器运行的完整流程。
Docker 不仅能够简化应用部署,还为微服务架构、CI/CD 自动化和 Kubernetes 容器编排提供了重要基础。
在后续学习中,可以进一步结合华为云弹性云服务器 ECS、云容器引擎 CCE 等服务,探索容器化应用的云端部署与管理。
技术学习最重要的是动手实践,希望本文能帮助大家迈出云原生开发的第一步!
- 点赞
- 收藏
- 关注作者
评论(0)