Docker(可选)
适用范围
Docker 是可选的。当您想要容器化网关(可重复构建、干净隔离)或正在验证 Docker 流程时使用它。
Agent 沙盒也使用 Docker,但您不需要在 Docker 中运行完整的网关来使用沙盒工具。参见 /docs/gateway/sandboxing/。
Docker 是否适合我?
- 是:您想要隔离的网关,或者您在不想全局安装 Node/工具的主机上运行。
- 否:您想要最快的本地开发循环。使用正常安装流程:/docs/install/。
系统要求
- Docker Desktop (macOS/Windows) 或 Docker Engine (Linux) + Docker Compose v2
- 足够的磁盘空间用于镜像和日志
容器化网关(Docker Compose)
快速开始(推荐)
从 Moltbot 仓库根目录:
./docker-setup.sh它的作用:
- 构建网关镜像
- 运行入门引导
- 将网关 token 写入
.env - 通过
docker compose启动网关
完成后:
- 打开
http://127.0.0.1:18789/ - 粘贴 token(控制 UI → 设置 → token)
数据存储位置(持久化)
容器是临时的;长期状态应该在主机上:
~/.moltbot/(配置、凭据、会话)~/clawd/(工作区、内存、工件)
手动流程(compose)
docker build -t moltbot:local -f Dockerfile .
docker compose run --rm moltbot-cli onboard
docker compose up -d moltbot-gateway验证
docker compose logs -f moltbot-gateway健康探测(需要 token):
docker compose exec moltbot-gateway node dist/index.js health --token "$MOLTBOT_GATEWAY_TOKEN"安装额外的系统包(可选)
如果您需要镜像内的包(例如 ffmpeg),请在镜像构建时安装:
export MOLTBOT_DOCKER_APT_PACKAGES="ffmpeg build-essential"
./docker-setup.sh额外挂载(可选)
将其他主机文件夹挂载到容器中:
export MOLTBOT_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
./docker-setup.sh持久化整个容器主目录(可选)
如果您希望 /home/node 在容器重新创建后存活,请使用命名卷:
export MOLTBOT_HOME_VOLUME="moltbot_home"
./docker-setup.sh重要:将所需的二进制文件烘焙到镜像中
如果 skill 依赖于外部二进制文件,不要在运行中的容器内安装它们。将它们添加到 Dockerfile(或镜像构建步骤),然后重建并重新启动。
在 VPS 上运行
从以下开始:
- Hetzner (Docker VPS):/docs/platforms/hetzner/
- GCP (Docker VM):/docs/platforms/gcp/
Agent 沙盒(主机网关 + Docker 工具)
启用沙盒时,非主会话在 Docker 内运行工具,而网关停留在主机上。深入探讨:/docs/gateway/sandboxing/。
延伸阅读
- 源路径:
install/docker.md