OpenClaw 的 Docker Essentials 技能
構建、執行和管理 Docker 容器與映像。
最後更新: 2026-03-03
快速安裝
$ npx clawhub@latest install docker-essentials核心功能
概述
Docker Essentials 技能透過 Docker CLI 為 OpenClaw 帶來完整的 Docker 容器管理功能。您無需記憶數十個 Docker 指令和參數,只要用自然語言描述您的需求,讓 OpenClaw 代理程式為您處理一切——從建構映像檔到除錯當機的容器。
Docker 是現代部署流程的基石,但其指令面涵蓋範圍極廣。OpenClaw Docker Essentials 技能彌合了意圖與執行之間的鴻溝,讓各個層級的開發者都能輕鬆使用容器化技術。無論您是在為 Node.js 應用程式打包生產環境,還是在調查為什麼建構在第 7 層失敗,代理程式都會將您的請求轉化為正確的 docker 指令並為您解讀輸出結果。
典型工作流程:
- 要求 OpenClaw 在容器中建構並執行您的應用程式。
- 代理程式產生或讀取您的 Dockerfile,使用正確的參數執行
docker build和docker run。 - 結果以可讀的摘要形式回傳——無需切換上下文。
前置條件
在安裝 Docker Essentials 技能之前,請確保您已具備:
- 已安裝並執行 OpenClaw(v1.0+)
- 已安裝 Docker Engine — 取得 Docker
- Docker 守護程式正在執行 — 該技能透過 Docker socket 進行通訊
- 已安裝 clawhub CLI 以進行技能管理
驗證您的設定:
# 檢查 OpenClaw 版本 openclaw --version # 檢查 Docker 版本 docker --version # 驗證 Docker 守護程式是否正在執行 docker info
如果 docker info 回傳錯誤,請使用 sudo systemctl start docker(Linux)啟動 Docker 守護程式,或開啟 Docker Desktop(macOS / Windows)。
安裝方式
使用單一指令安裝 Docker Essentials 技能:
npx clawhub@latest install docker-essentials
在安裝之前,您可以檢視該技能的權限和原始碼:
clawhub inspect docker-essentials
驗證安裝是否成功:
clawhub list
您應該會在已安裝技能清單中看到 docker-essentials。此技能由 Arnarsson 建立,並帶有推薦標章,代表它經過充分測試且在正確設定下風險較低。
設定
Docker Essentials 技能透過本機 Docker socket(/var/run/docker.sock)連接 Docker 守護程式。本機使用無需 API 金鑰或權杖。
環境設定
# 預設 Docker socket(通常可直接使用) export DOCKER_HOST=unix:///var/run/docker.sock # 連接遠端 Docker 主機(選用) export DOCKER_HOST=tcp://your-remote-host:2376 export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=~/.docker/certs
**重要:**切勿在沒有 TLS 的情況下將 Docker socket 暴露於網路中。如果您連接遠端 Docker 主機,請務必啟用 TLS 驗證並使用用戶端憑證。
Docker Compose 支援
此技能也支援 Docker Compose 工作流程。請確保您已安裝 Docker Compose V2(隨 Docker Desktop 一同安裝,或單獨安裝 docker-compose-plugin):
docker compose version
使用範例
1. 建構並執行應用程式
您:「從我專案根目錄的 Dockerfile 建構 Docker 映像檔,並在連接埠 3000 上執行。」
代理程式執行 docker build -t my-app .,接著執行 docker run -d -p 3000:3000 my-app。它會回報容器 ID、對應的連接埠,並確認應用程式可在 localhost:3000 存取。
2. 除錯失敗的容器
您:「我的容器
api-server持續當機。顯示最後 50 行日誌並告訴我問題出在哪裡。」
代理程式執行 docker logs --tail 50 api-server,分析輸出內容,並找出根本原因——例如,缺少環境變數或連接埠衝突。然後它會建議修復方案,並可以為您套用修正。
3. 最佳化 Dockerfile
您:「分析我的 Dockerfile 並建議最佳化方案以縮小映像檔大小。」
代理程式讀取您的 Dockerfile,找出常見問題,例如不必要的層、缺少多階段建構或過於龐大的基底映像檔,並提供具體建議。它可以重寫 Dockerfile 並套用最佳化——通常能將映像檔大小縮減 50% 或更多。
4. 清理 Docker 資源
您:「移除所有已停止的容器、懸掛的映像檔和未使用的磁碟區。」
代理程式在確認清理範圍後執行 docker system prune -a --volumes。它會回報釋放了多少磁碟空間,並列出已移除的資源。
5. 管理 Docker Compose 堆疊
您:「啟動 docker-compose.yml 中定義的開發堆疊,並顯示所有服務的狀態。」
代理程式執行 docker compose up -d,接著執行 docker compose ps,呈現一個格式化的表格,顯示執行中的服務、其連接埠和健康狀態。如果任何服務啟動失敗,它會自動檢查日誌並回報問題。
安全性與最佳實踐
Docker 守護程式的存取權限非常強大——一個帶有適當參數的容器可以存取主機的檔案系統、網路,甚至其他容器。請遵循以下準則以確保安全:
- **避免特權模式。**除非絕對必要,否則切勿使用
--privileged。它會賦予容器對主機的完全存取權限。 - **使用非 root 使用者。**在您的 Dockerfile 中加入
USER指令,以非 root 使用者身分在容器內執行程式。 - **確認前先審查。**OpenClaw 在執行破壞性指令(如
docker system prune或docker rm -f)之前會提示您核准。請務必審查受影響的範圍。 - **限制資源用量。**使用
--memory和--cpus參數防止容器消耗所有主機資源。 - **掃描映像檔漏洞。**搭配
docker scout或 Snyk 使用此技能,以識別基底映像檔中已知的 CVE 弱點。 - **保持 Docker 更新。**執行最新的穩定版 Docker Engine 以獲得安全性修補。
請查閱安全檢查清單以瞭解通用的技能安全指南。
疑難排解
「Cannot connect to the Docker daemon」
Docker 守護程式未執行,或目前的使用者缺少存取 socket 的權限。
# 啟動 Docker 守護程式(Linux) sudo systemctl start docker # 將您的使用者加入 docker 群組(避免使用 sudo) sudo usermod -aG docker $USER # 登出並重新登入以使群組變更生效
在 macOS 或 Windows 上,請確保 Docker Desktop 正在執行。
「no space left on device」
Docker 映像檔、容器和磁碟區已佔滿您的磁碟空間。
# 檢查 Docker 磁碟使用量 docker system df # 移除未使用的資源 docker system prune -a --volumes
考慮使用 Cron Creator 技能設定定期清理排程。
「port is already allocated」
另一個程式或容器已經在使用請求的連接埠。
# 找出正在使用該連接埠的程式(例如連接埠 3000) lsof -i :3000 # 或列出使用該連接埠的 Docker 容器 docker ps --filter "publish=3000"
停止衝突的程式,或使用 -p 3001:3000 將您的容器對應到不同的主機連接埠。
常見問題
是的,只要負責任地使用。此技能遵循 OpenClaw 的確認模型——破壞性操作(如移除容器或清理映像檔)需要明確核准。我們建議避免使用 `--privileged` 容器,並在確認前始終審查代理程式提出的指令。對於生產工作負載,建議搭配 [Kubernetes](/skills/kubernetes) 技能以獲得編排層級的控制。
可以。設定 `DOCKER_HOST` 環境變數以指向您的遠端 Docker 守護程式(例如 `tcp://remote-host:2376`)。使用 `DOCKER_TLS_VERIFY=1` 啟用 TLS 驗證,並透過 `DOCKER_CERT_PATH` 提供用戶端憑證。此技能將使用設定的主機進行所有後續操作。若要在不暴露連接埠的情況下進行安全的遠端存取,請考慮使用 [Tailscale](/skills/tailscale) 技能建立私人網路通道。
支援。此技能完整支援 Docker Compose V2 工作流程。您可以要求代理程式啟動多容器堆疊、檢查服務狀態、檢視個別服務的日誌,以及關閉環境。請確保您已安裝 `docker-compose-plugin`(預設隨 Docker Desktop 一同安裝)。
此技能適用於 Docker Engine 20.10 及更高版本。我們建議執行最新的穩定版本以獲得安全性修補和效能改進。執行 `docker --version` 檢查您目前的版本,並造訪 [Docker 安裝指南](https://docs.docker.com/get-docker/)以進行升級。
Docker Essentials 技能專注於個別容器和映像檔——在容器層級進行建構、執行、除錯和最佳化。[Kubernetes](/skills/kubernetes) 技能則在編排層級運作——管理 Pod、Deployment、Service 和叢集範圍的資源。在本機開發和單一主機部署時使用 Docker Essentials;當您需要多節點編排、自動擴展和服務探索時使用 Kubernetes。兩個技能相輔相成,可以同時安裝使用。
相關技能
管理 Kubernetes 叢集、部署和服務。
在 Vercel 平台部署和管理專案。
自託管部署平台(Heroku/Vercel 替代方案)。