mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-06-06 08:10:48 +08:00
feat: 拆分 environment-setup 为 Python/Node.js 运行时双核心 + 父级路由
新增双核心 skill(深度集成 DesireCore Hatch/Volta + HTTP API + Socket.IO): - python-runtime v1.0.1:Python 运行时管理 · 四级降级:HTTP API → Hatch CLI 绝对路径 → 系统包管理器 → pyenv · references:hatch-desirecore / pyenv-fallback / virtualenv / troubleshooting · scripts/probe-python.sh:输出 JSON 快照供 Claude 解析决策 - nodejs-runtime v1.0.1:Node.js 运行时管理 · 四级降级:HTTP API → Volta CLI → 系统包管理器/NodeSource → nvm/fnm · references:volta-desirecore / nvm-fallback / package-managers / troubleshooting · scripts/probe-node.sh:输出 JSON 快照(含 volta_tools / package_json_volta 等) environment-setup → dev-environment-setup v2.0.1(重命名 + 重写为 router): - 从 1380 行手册瘦身为 ~150 行索引 - 仅负责容器(Docker/Podman)/ WSL2 / 办公依赖速查 / 系统工具 - references/desirecore-runtime.md 沉淀 Hatch/Volta 路径表 + HTTP API 速查 + Socket.IO 事件契约,作为两个核心 skill 的共享底座 - references/decision-tree.md 定义四级降级决策树 - scripts/probe.sh + probe.ps1 系统级 JSON 探测 三个 SKILL.md 的 L0 改为场景驱动结构(何时使用 / 何时不要用 / 怎么做), 让 AI 凭名字与 L0 即可判断匹配场景。 注册更新: - builtin-skills.json:新增 python-runtime / nodejs-runtime / dev-environment-setup (原 environment-setup 移除),按字母序,共 21 个 skill - manifest.json:totalSkills 19→21,lastUpdated 2026-05-02 下游同步: - docx / pdf / xlsx / pptx 中的环境引用从 environment-setup 拆分为 python-runtime / nodejs-runtime / dev-environment-setup 三向指引 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
193
skills/dev-environment-setup/references/container.md
Normal file
193
skills/dev-environment-setup/references/container.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# 容器运行环境(Docker / Podman)
|
||||
|
||||
容器在开发中越来越常见——数据库、消息队列、AI 推理服务等多通过容器部署。
|
||||
|
||||
## 检测
|
||||
|
||||
```bash
|
||||
docker --version 2>/dev/null && docker info --format '{{.OperatingSystem}}' 2>/dev/null \
|
||||
|| echo "Docker NOT FOUND or daemon not running"
|
||||
|
||||
podman --version 2>/dev/null || echo "Podman NOT FOUND"
|
||||
```
|
||||
|
||||
## Docker 安装
|
||||
|
||||
### macOS
|
||||
|
||||
推荐 Docker Desktop(含 Docker Engine + Compose + GUI):
|
||||
|
||||
```bash
|
||||
# 方式 1:Homebrew Cask(推荐)
|
||||
brew install --cask docker
|
||||
|
||||
# 方式 2:官网下载
|
||||
# https://www.docker.com/products/docker-desktop/
|
||||
# 选择 Apple Silicon 或 Intel
|
||||
|
||||
# 验证
|
||||
docker --version
|
||||
docker run hello-world
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
**推荐 Docker Desktop + WSL2 后端**(先装 WSL2,见 `wsl.md`):
|
||||
|
||||
1. 下载 [Docker Desktop](https://www.docker.com/products/docker-desktop/)
|
||||
2. 安装时勾选 "Use WSL 2 instead of Hyper-V"
|
||||
3. Settings → General 确认 "Use the WSL 2 based engine" 已启用
|
||||
|
||||
```powershell
|
||||
winget install Docker.DockerDesktop
|
||||
docker --version
|
||||
docker run hello-world
|
||||
```
|
||||
|
||||
**轻量替代(仅 CLI,通过 WSL2 内)**:
|
||||
|
||||
```bash
|
||||
# 在 WSL2 Ubuntu 中
|
||||
sudo apt update
|
||||
sudo apt install docker.io docker-compose-v2
|
||||
sudo usermod -aG docker $USER
|
||||
# 重新登录 WSL2 后生效
|
||||
```
|
||||
|
||||
### Linux(Debian / Ubuntu)
|
||||
|
||||
```bash
|
||||
# 安装 Docker Engine(官方仓库)
|
||||
sudo apt update
|
||||
sudo apt install ca-certificates curl
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||
|
||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
sudo apt update
|
||||
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||
|
||||
# 免 sudo
|
||||
sudo usermod -aG docker $USER
|
||||
newgrp docker
|
||||
|
||||
docker run hello-world
|
||||
```
|
||||
|
||||
### Linux(Fedora / RHEL)
|
||||
|
||||
```bash
|
||||
sudo dnf install dnf-plugins-core
|
||||
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
|
||||
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||
sudo systemctl start docker
|
||||
sudo systemctl enable docker
|
||||
sudo usermod -aG docker $USER
|
||||
```
|
||||
|
||||
## Podman(无守护进程替代)
|
||||
|
||||
兼容 Docker CLI,无后台守护进程,更轻量。
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install podman
|
||||
podman machine init
|
||||
podman machine start
|
||||
|
||||
# Ubuntu / Debian
|
||||
sudo apt install podman
|
||||
|
||||
# Fedora(预装)
|
||||
podman --version
|
||||
|
||||
# Windows
|
||||
winget install RedHat.Podman
|
||||
```
|
||||
|
||||
使用方式与 Docker 一致:
|
||||
```bash
|
||||
podman run hello-world
|
||||
podman ps
|
||||
podman images
|
||||
```
|
||||
|
||||
### Docker → Podman 别名
|
||||
|
||||
```bash
|
||||
echo 'alias docker=podman' >> ~/.zshrc
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### "Cannot connect to the Docker daemon"
|
||||
|
||||
```bash
|
||||
# Linux
|
||||
sudo systemctl start docker
|
||||
sudo systemctl enable docker
|
||||
|
||||
# macOS / Windows
|
||||
# 启动 Docker Desktop 应用(系统托盘应有鲸鱼图标)
|
||||
|
||||
# WSL2
|
||||
# 在 Windows 端重启 Docker Desktop
|
||||
```
|
||||
|
||||
### "permission denied while trying to connect to the Docker daemon socket"
|
||||
|
||||
```bash
|
||||
sudo usermod -aG docker $USER
|
||||
newgrp docker # 当前 shell 立即生效
|
||||
# 或重新登录
|
||||
```
|
||||
|
||||
### Docker Desktop 占用资源过高
|
||||
|
||||
Docker Desktop Settings → Resources 调 CPU / Memory。WSL2 后端可编辑 `~/.wslconfig`:
|
||||
|
||||
```ini
|
||||
[wsl2]
|
||||
memory=4GB
|
||||
processors=2
|
||||
swap=2GB
|
||||
```
|
||||
|
||||
### 镜像下载慢(中国大陆)
|
||||
|
||||
```bash
|
||||
# 编辑 /etc/docker/daemon.json
|
||||
sudo tee /etc/docker/daemon.json <<EOF
|
||||
{
|
||||
"registry-mirrors": [
|
||||
"https://mirror.ccs.tencentyun.com",
|
||||
"https://docker.m.daocloud.io"
|
||||
]
|
||||
}
|
||||
EOF
|
||||
sudo systemctl restart docker
|
||||
```
|
||||
|
||||
macOS / Windows 在 Docker Desktop Settings → Docker Engine 中编辑 JSON。
|
||||
|
||||
### 磁盘空间被吃光
|
||||
|
||||
```bash
|
||||
docker system df # 查用量
|
||||
docker system prune -a # 清未用镜像/容器/网络
|
||||
docker volume prune # 清未挂载 volume(小心!数据会丢)
|
||||
```
|
||||
|
||||
## 容器场景速查
|
||||
|
||||
| 场景 | 镜像 | 启动 |
|
||||
|------|------|------|
|
||||
| Postgres 测试 | `postgres:16` | `docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=test postgres:16` |
|
||||
| Redis | `redis:7` | `docker run -d -p 6379:6379 redis:7` |
|
||||
| MySQL | `mysql:8` | `docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=test mysql:8` |
|
||||
| MinIO(S3 兼容) | `minio/minio` | `docker run -d -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address :9001` |
|
||||
|
||||
更复杂的场景使用 `docker compose up -d`。
|
||||
Reference in New Issue
Block a user