Docker VM Runtime
Các bước runtime chia sẻ cho cài đặt Docker trên VM như GCP, Hetzner và các nhà cung cấp VPS tương tự.Tích hợp các binary cần thiết vào image
Cài đặt binary bên trong container đang chạy là một cái bẫy. Mọi thứ cài đặt tại runtime sẽ bị mất khi khởi động lại. Tất cả các binary bên ngoài cần thiết cho các kỹ năng phải được cài đặt trong quá trình build image. Dưới đây là ví dụ về ba binary phổ biến:gogđể truy cập Gmailgoplacescho Google Placeswaclicho WhatsApp
- Cập nhật Dockerfile
- Rebuild image
- Khởi động lại container
Các URL tải xuống trên là cho x86_64 (amd64). Đối với các VM dựa trên ARM (ví dụ: Hetzner ARM, GCP Tau T2A), thay thế các URL tải xuống bằng các biến thể ARM64 phù hợp từ trang phát hành của từng công cụ.
Build và khởi động
Killed hoặc exit code 137 trong quá trình pnpm install --frozen-lockfile, VM đã hết bộ nhớ. Sử dụng một lớp máy lớn hơn trước khi thử lại.
Kiểm tra các binary:
Những gì được duy trì ở đâu
OpenClaw chạy trong Docker, nhưng Docker không phải là nguồn dữ liệu chính. Tất cả trạng thái lâu dài phải tồn tại qua các lần khởi động lại, rebuild và reboot.| Thành phần | Vị trí | Cơ chế duy trì | Ghi chú |
|---|---|---|---|
| Cấu hình Gateway | /home/node/.openclaw/ | Host volume mount | Bao gồm openclaw.json, tokens |
| Hồ sơ xác thực mô hình | /home/node/.openclaw/ | Host volume mount | OAuth tokens, API keys |
| Cấu hình kỹ năng | /home/node/.openclaw/skills/ | Host volume mount | Trạng thái cấp kỹ năng |
| Không gian làm việc của Agent | /home/node/.openclaw/workspace/ | Host volume mount | Mã và các artifact của agent |
| Phiên WhatsApp | /home/node/.openclaw/ | Host volume mount | Bảo toàn đăng nhập QR |
| Keyring Gmail | /home/node/.openclaw/ | Host volume + password | Yêu cầu GOG_KEYRING_PASSWORD |
| Binary bên ngoài | /usr/local/bin/ | Docker image | Phải được tích hợp khi build |
| Runtime Node | Container filesystem | Docker image | Được rebuild mỗi lần build image |
| Gói OS | Container filesystem | Docker image | Không cài đặt tại runtime |
| Docker container | Tạm thời | Có thể khởi động lại | An toàn để hủy |