Docker 化 Python 应用:让部署不再困难
📅 2026/7/3 11:35:47
👁️ 阅读次数
📝 编程学习
本文是《Python工程化实践》专栏第十六章,讲解如何用 Docker 容器化 Python 应用,实现一键部署。
1. 为什么用 Docker
1.1 环境一致性问题
“在我的机器上能跑” —— 开发者最常说的谎言
没有 Docker 之前:
- 开发环境:Python 3.11、Ubuntu 22.04
- 生产环境:Python 3.9、CentOS 7
- 依赖版本冲突,项目迁移困难
有了 Docker 之后:
- 开发、测试、生产使用同一个镜像
- “Build Once, Run Anywhere”
1.2 依赖隔离
Docker 容器有独立的文件系统、依赖、网络:
# 容器 A:numpy 1.24# 容器 B:numpy 1.26# 互不干扰1.3 快速部署
# 拉取镜像,一键启动dockerrun-d-p8000:8000 myapp:latest2. Docker 基础
2.1 核心概念
| 概念 | 说明 |
|---|---|
| 镜像(Image) | 只读模板 |
| 容器(Container) | 镜像的运行实例 |
| Dockerfile | 构建镜像的脚本 |
┌─────────────┐ docker build ┌─────────────┐ docker run ┌─────────────┐ │ Dockerfile │ ───────────────► │ Image │ ───────────────► │ Container │ └─────────────┘ └─────────────┘ └─────────────┘2.2 常用命令
# 构建镜像dockerbuild-tmyapp:latest.# 查看镜像dockerimages# 运行容器dockerrun myapp:latest# 查看运行中的容器dockerps# 查看所有容器dockerps-a# 停止容器dockerstop myapp
编程学习
技术分享
实战经验