OpenClaw
DevOps 與雲推薦

OpenClaw 的 Docker Essentials 技能

構建、執行和管理 Docker 容器與映像。

最後更新: 2026-03-03

快速安裝

$ npx clawhub@latest install docker-essentials

核心功能

使用自然語言從 Dockerfile 建構 Docker 映像檔
隨時執行、停止和重新啟動容器
除錯失敗的建構並檢視容器日誌
最佳化 Dockerfile 以建立更小、更快的映像檔
管理 Docker Compose 多容器設定
清理未使用的映像檔、容器和磁碟區

概述

Docker Essentials 技能透過 Docker CLI 為 OpenClaw 帶來完整的 Docker 容器管理功能。您無需記憶數十個 Docker 指令和參數,只要用自然語言描述您的需求,讓 OpenClaw 代理程式為您處理一切——從建構映像檔到除錯當機的容器。

Docker 是現代部署流程的基石,但其指令面涵蓋範圍極廣。OpenClaw Docker Essentials 技能彌合了意圖與執行之間的鴻溝,讓各個層級的開發者都能輕鬆使用容器化技術。無論您是在為 Node.js 應用程式打包生產環境,還是在調查為什麼建構在第 7 層失敗,代理程式都會將您的請求轉化為正確的 docker 指令並為您解讀輸出結果。

典型工作流程:

  1. 要求 OpenClaw 在容器中建構並執行您的應用程式。
  2. 代理程式產生或讀取您的 Dockerfile,使用正確的參數執行 docker builddocker run
  3. 結果以可讀的摘要形式回傳——無需切換上下文。

前置條件

在安裝 Docker Essentials 技能之前,請確保您已具備:

  • 已安裝並執行 OpenClaw(v1.0+)
  • 已安裝 Docker Engine取得 Docker
  • Docker 守護程式正在執行 — 該技能透過 Docker socket 進行通訊
  • 已安裝 clawhub CLI 以進行技能管理

驗證您的設定:

bash
# 檢查 OpenClaw 版本
openclaw --version

# 檢查 Docker 版本
docker --version

# 驗證 Docker 守護程式是否正在執行
docker info

如果 docker info 回傳錯誤,請使用 sudo systemctl start docker(Linux)啟動 Docker 守護程式,或開啟 Docker Desktop(macOS / Windows)。

安裝方式

使用單一指令安裝 Docker Essentials 技能:

bash
npx clawhub@latest install docker-essentials

在安裝之前,您可以檢視該技能的權限和原始碼:

bash
clawhub inspect docker-essentials

驗證安裝是否成功:

bash
clawhub list

您應該會在已安裝技能清單中看到 docker-essentials。此技能由 Arnarsson 建立,並帶有推薦標章,代表它經過充分測試且在正確設定下風險較低。

設定

Docker Essentials 技能透過本機 Docker socket(/var/run/docker.sock)連接 Docker 守護程式。本機使用無需 API 金鑰或權杖。

環境設定

bash
# 預設 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):

bash
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 prunedocker rm -f)之前會提示您核准。請務必審查受影響的範圍。
  • **限制資源用量。**使用 --memory--cpus 參數防止容器消耗所有主機資源。
  • **掃描映像檔漏洞。**搭配 docker scout 或 Snyk 使用此技能,以識別基底映像檔中已知的 CVE 弱點。
  • **保持 Docker 更新。**執行最新的穩定版 Docker Engine 以獲得安全性修補。

請查閱安全檢查清單以瞭解通用的技能安全指南。

疑難排解

「Cannot connect to the Docker daemon」

Docker 守護程式未執行,或目前的使用者缺少存取 socket 的權限。

bash
# 啟動 Docker 守護程式(Linux)
sudo systemctl start docker

# 將您的使用者加入 docker 群組(避免使用 sudo)
sudo usermod -aG docker $USER
# 登出並重新登入以使群組變更生效

在 macOS 或 Windows 上,請確保 Docker Desktop 正在執行。

「no space left on device」

Docker 映像檔、容器和磁碟區已佔滿您的磁碟空間。

bash
# 檢查 Docker 磁碟使用量
docker system df

# 移除未使用的資源
docker system prune -a --volumes

考慮使用 Cron Creator 技能設定定期清理排程。

「port is already allocated」

另一個程式或容器已經在使用請求的連接埠。

bash
# 找出正在使用該連接埠的程式(例如連接埠 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
推薦

管理 Kubernetes 叢集、部署和服務。

Vercel
推薦

在 Vercel 平台部署和管理專案。

Coolify
推薦

自託管部署平台(Heroku/Vercel 替代方案)。

在 ClawHub 安裝返回技能目錄