使用 Docker + VS Code Dev Container 搭建 Python 音乐闹钟开发环境(WSL 实战记录)
一、背景:为什么要做这个环境
为了学习 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

✔ Python 可运行
✔ Git 可用
✔ VS Code 进入 Dev Container
✔ 代码可持久化(不会丢)
八、本篇总结
通过 Docker + Dev Container,我完成了一套标准化 Python 开发环境。
这为后续使用通义灵码实现“音乐闹钟”项目打下了基础。