Files
market/skills/dev-environment-setup/references/container.md
yi-ge 1a50969b93 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>
2026-05-02 13:30:23 +08:00

4.5 KiB
Raw Blame History

容器运行环境Docker / Podman

容器在开发中越来越常见——数据库、消息队列、AI 推理服务等多通过容器部署。

检测

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

# 方式 1Homebrew 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 后端(先装 WSL2wsl.md

  1. 下载 Docker Desktop
  2. 安装时勾选 "Use WSL 2 instead of Hyper-V"
  3. Settings → General 确认 "Use the WSL 2 based engine" 已启用
winget install Docker.DockerDesktop
docker --version
docker run hello-world

轻量替代(仅 CLI通过 WSL2 内)

# 在 WSL2 Ubuntu 中
sudo apt update
sudo apt install docker.io docker-compose-v2
sudo usermod -aG docker $USER
# 重新登录 WSL2 后生效

LinuxDebian / Ubuntu

# 安装 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

LinuxFedora / RHEL

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无后台守护进程更轻量。

# 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 一致:

podman run hello-world
podman ps
podman images

Docker → Podman 别名

echo 'alias docker=podman' >> ~/.zshrc

常见问题

"Cannot connect to the Docker daemon"

# 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"

sudo usermod -aG docker $USER
newgrp docker     # 当前 shell 立即生效
# 或重新登录

Docker Desktop 占用资源过高

Docker Desktop Settings → Resources 调 CPU / Memory。WSL2 后端可编辑 ~/.wslconfig

[wsl2]
memory=4GB
processors=2
swap=2GB

镜像下载慢(中国大陆)

# 编辑 /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。

磁盘空间被吃光

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
MinIOS3 兼容) minio/minio docker run -d -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address :9001

更复杂的场景使用 docker compose up -d