用 Docker Compose 一键搭建 Python 本地开发环境:从零开始的实战笔记

举报
yd_287574022 发表于 2026/10/30 12:21:38 2026/10/30
【摘要】 一、为什么要用容器来搭开发环境本地直接装 Python 看似简单,但时间一长问题就来了:多个项目要用不同 Python 版本、依赖库版本互相打架、换一台电脑又要重配半天。更麻烦的是,新同事入职时照着文档配环境,经常因为少装一个系统依赖就卡住半天。用 Docker 把环境“代码化”之后,这些问题基本消失:一份 Dockerfile 加一份 docker-compose.yml,任何机器上一条命...

一、为什么要用容器来搭开发环境

本地直接装 Python 看似简单,但时间一长问题就来了:多个项目要用不同 Python 版本、依赖库版本互相打架、换一台电脑又要重配半天。更麻烦的是,新同事入职时照着文档配环境,经常因为少装一个系统依赖就卡住半天。

用 Docker 把环境“代码化”之后,这些问题基本消失:一份 Dockerfile 加一份 docker-compose.yml,任何机器上一条命令就能拉起完全一致的开发环境,版本、依赖、配置全部固化在代码里。

二、准备工作

1. Windows 或 macOS 安装 Docker Desktop;Linux 服务器上安装 docker 和 docker compose 插件。
2. 安装完成后验证:docker --version 和 docker compose version 都能正常输出即可。
3. 建议提前配置好国内镜像加速,避免拉取基础镜像超时。

三、实战:三分钟起一个 Python 开发环境

新建项目目录,写一个 Dockerfile:

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
COPY . .
CMD ["python", "app.py"]

再写 docker-compose.yml,把代码目录挂载进容器、映射好端口,开发时本地改代码,容器里即时生效:

version: "3"
services:
  web:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/app

执行 docker compose up -d 启动,docker compose logs -f 查看日志,环境就跑起来了。

四、日常高频命令

docker compose up -d 启动服务;docker compose down 停止并清理;docker compose ps 查看状态;docker exec -it web bash 进入容器调试;改了 Dockerfile 后用 docker compose build 重新构建。

五、避坑清单

第一,.dockerignore 一定要配,把 .git、__pycache__、.venv 排除掉,否则构建上下文又大又慢。第二,有状态的数据(数据库文件、上传目录)用 volume 持久化,容器删了数据还在。第三,容器里尽量不要用 root 跑应用,注意挂载目录的权限。第四,生产镜像可以用多阶段构建瘦身,开发镜像则以方便调试为主。

六、小结

环境即代码是团队协作里性价比极高的一步。下一步可以试试把 MySQL、Redis 也编排进 compose,或者给常用环境做一层基础镜像,开发效率会再上一个台阶。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。