没有不值得去解决的问题,也没有不值得去学习的技术!

使用 Docker + VS Code Dev Container 搭建 Python 音乐闹钟开发环境(WSL 实战记录)

验证环境是否成功,在 GitHub 上的目录结构

一、背景:为什么要做这个环境

为了学习 AI 编程工具(如通义灵码),我准备实现一个“音乐闹钟”小项目。
在开始编码之前,我先搭建一套可复用的 Python Dev Container 开发环境。

二、技术栈说明

  • Windows 10
  • WSL2 (Ubuntu)
  • Docker
  • VS Code
  • Python 3.10 (Alpine)
  • Dev Container

三、项目目录结构(核心重点)

music-alarm/
├── .devcontainer/
│ └── devcontainer.json
├── docker-compose.yml
├── main.py
├── requirements.txt
├── .gitignore
└── README.md

✔ 解释每个文件作用
📁 .devcontainer/devcontainer.json
VS Code Dev Container 配置文件
用于定义:

  • 使用哪个 Docker 服务
  • 工作目录
  • 插件
  • 自动安装依赖
    📁 docker-compose.yml
    定义 Python 运行环境容器
  • Python 镜像
  • 代码挂载
  • 工作目录 /app
  • 保持容器运行
    📁 main.py
    音乐闹钟核心逻辑入口
    后续会在这里实现:
  • 定时任务
  • 播放音乐
    📁 requirements.txt(预留)
    未来 AI / 音乐闹钟依赖管理文件
    例如:
    schedule
    playsound
    📁 .gitignore
    用于忽略:
  • Python 缓存
  • IDE 文件
  • 环境变量

四、Dev Container 配置说明(重点).devcontainer/devcontainer.json

{
  "name": "Python Music Alarm Dev Container",

  "dockerComposeFile": ["../docker-compose.yml"],
  "service": "python",
  "workspaceFolder": "/app",

  "shutdownAction": "stopCompose",

  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-python.vscode-pylance",
        "ms-azuretools.vscode-docker",
        "eamodio.gitlens"
      ],
      "settings": {
        "terminal.integrated.defaultProfile.linux": "sh",
        "python.defaultInterpreterPath": "/usr/local/bin/python"
      }
    }
  },

  "remoteUser": "root",

  "postCreateCommand": "apk update && apk add git && pip install --upgrade pip"
}

五、docker-compose.yml 说明(重点)

该文件用于启动 Python 开发容器,并挂载本地代码:
volumes:

  • ./:/app

👉 核心意义:

保证代码在宿主机(WSL)保存,不会随容器销毁而丢失

services:
  python:
    image: python:3.10-alpine
    container_name: python-music-alarm

    working_dir: /app

    volumes:
      - ./:/app

    tty: true
    stdin_open: true

    command: tail -f /dev/null

    # ✔ 关键:保证 Git / VS Code 兼容
    environment:
      - PYTHONDONTWRITEBYTECODE=1
      - PYTHONUNBUFFERED=1

六、VS Code 使用方式(操作步骤)

Step 1:打开项目
code .
Step 2:进入 Dev Container
Ctrl + Shift + P
→ Dev Containers: Reopen in Container
Step 3:确认环境
python –version
git –version
Step 4:打开 Git UI
Ctrl + Shift + G
Step 5:文件 – 将工作区另存为 C:\Users\Thinkpad\VSCodeWorkspaces\python-music-alarm-app.code-workspace,便于后期直接从文件打开工作区

七、验证环境是否成功,在 GitHub 上的目录结构如图1

验证环境是否成功,在 GitHub 上的目录结构


✔ Python 可运行
✔ Git 可用
✔ VS Code 进入 Dev Container
✔ 代码可持久化(不会丢)

八、本篇总结
通过 Docker + Dev Container,我完成了一套标准化 Python 开发环境。
这为后续使用通义灵码实现“音乐闹钟”项目打下了基础。

需要长期技术维护或远程问题排查?

我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。

如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:

  • ✅ PHP / Laravel / Yii2 老项目无人维护
  • ✅ Go / Gin 后端接口需要排查或优化
  • ✅ WordPress 网站访问慢、报错或插件冲突
  • ✅ Nginx / MySQL / Redis / Linux 服务器异常
  • ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
  • ✅ 需要长期远程技术支持或兼职维护

更多介绍请查看:关于我 & 合作

微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理