執行環境與沙箱怎麼選:從 Namespace、gVisor 到 Firecracker、E2B、Lambda MicroVMs 的隔離光譜
沙箱不是單一套件,而是 Namespace、cgroups、seccomp、gVisor、Firecracker 層層疊起的光譜;本地 OS 級沙箱管爆破半徑,雲端 microVM 管多租戶隔離,選型關鍵在信任邊界與維運成本。
沙箱不是單一套件,而是 Namespace、cgroups、seccomp、gVisor、Firecracker 層層疊起的光譜;本地 OS 級沙箱管爆破半徑,雲端 microVM 管多租戶隔離,選型關鍵在信任邊界與維運成本。
在 `.devcontainer/devcontainer.json` 加一行 Anthropic 官方 Dev Container Feature(`ghcr.io/anthropics/devcontainer-features/claude-code:1.0`),三步驟——寫設定、rebuild 容器、跑 `claude` 登入——就能讓團隊每個人的 Claude Code 跑在同一份容器定義裡;同一份定義也能餵給 GitHub Codespaces 和 CI,rollout 五步可落地。
一個 Python agent 從本機 uv run 到 Docker 到 Cloudflare Containers 公開 API 的完整部署鏈:Worker 擋認證、Container 跑 FastAPI、secret 永遠不進映像檔,10 分鐘沒人用就自動休眠——side project 的正確省錢姿勢。
Coolify 用 SSH 控制自有 server 上的 Docker、proxy 與 resources;它簡化部署,但 OS、安全、容量、資料備份與平台復原仍由團隊負責。
Dokku 用 Git receiver、buildpack/Dockerfile、process model、Nginx 與 plugins 在單機提供 Heroku 式體驗;簡潔來自刻意縮小編排範圍。
Kamal 從操作者端透過 SSH 把 immutable image 部署到 servers,靠 kamal-proxy 切換流量;它不是 scheduler,也不替團隊管理主機與資料。
changedetection.io 是網頁變更訊號層:先縮小監控範圍、排除雜訊,再把真正的變更通知下游;它不是搜尋 API,也不該取代 crawler。
SearXNG 是元搜尋引擎,不是 crawler,也沒有自己的全網索引。這篇以官方 2026.8.20 文件為準,從 Compose 安裝、settings.yml、引擎選擇與 JSON API,一路做到空結果診斷。
三個元件、各做一件事:SearXNG 負責找、Crawl4AI 負責讀、一層薄薄的程式把兩者黏起來。有三個預設值不改就不會動——`formats` 預設只吐 HTML、`secret_key` 預設是 `ultrasecretkey`、limiter 開了會擋你自己的程式。另外官方安裝方式在 2026 年 3 月換過,網路上多數教學指的 searxng-docker 已經封存了。
Hermes 的指令可以跑在 local、ssh、docker、singularity、modal、daytona、vercel_sandbox 七種後端。關鍵取捨不是效能而是審批:local 與 ssh 會做危險指令檢查,其餘五種一律跳過,因為官方把容器/沙箱本身當成邊界。另外 Docker 預設是「一個長壽容器跨 session 共用」,不是每次對話一個乾淨環境。
OpenClaw 有六種本機安裝方式,差別不在指令而在你要不要可重現性、隔離、與自我更新。真正會卡住的是套件管理器的 lifecycle script 政策:npm 12 與 pnpm 全域安裝都預設擋掉 OpenClaw 的 build script。
沙箱由三個獨立設定決定:mode(何時套用)、scope(開幾個容器)、backend(在哪執行)。最容易出事的是預期落差——`tools.exec.host` 現在預設是 auto,所以「沒設就等於在沙箱裡」已經不成立,安全稽核有一條專門抓這個。
Docker 讓你把應用程式和它的環境打包在一起,消除「在我電腦上可以跑」的問題。搭配 multi-stage build 和 Compose,是現代後端部署的基本配備。
Node.js image 的弱掃結果不能只看套件名稱,先分清楚是專案依賴,還是 base image 內建 npm 自己帶的相依套件,才不會修錯地方。
弱掃不是只為了交報告,而是幫你提早知道系統裡有哪些已知風險。這篇用 Trivy 當例子,快速介紹弱掃在掃什麼、常見結果怎麼看,以及該怎麼開始。
docker restart 不會重建容器,volumes 設定改了必須用 docker-compose down && up 才會生效。
跨 Compose 專案時 service name 不可解析,要加 network alias 才能讓 nginx 找到容器。
跨 Compose 專案只能靠 container_name 或 network alias 解析,而 alias 才支援 scale。
nginx 重啟期間短暫出錯,Cloudflare 偵測到 origin 不健康後停止轉發請求,自己回傳 502。localhost 打 origin 是 200,nginx access log 空白是關鍵線索。等 Cloudflare 自動 re-check 即可恢復。
單一 nginx.conf 隨服務增加變得難以維護,用 include conf.d/*.conf 按服務拆分是標準解法。
nginx 用 set $variable 做動態 upstream 時,DNS 快取每 30 秒過期,第一個請求因無可用 IP 而 502。升到 nginx 1.27.3 改用 upstream + resolve 參數,DNS 在背景非同步更新,根治問題。
設定好 SSH config 後,scp 可以直接用 alias,不用打完整 IP