Docker 一键部署教程
这篇教程面向希望直接在 Docker 中运行 NextClaw 的用户。
目标:用一条命令跑起来,并拿到可直接访问的 URL。
前置条件
- 已安装并启动 Docker(Docker Desktop 或 Docker Engine)。
- 机器可以访问:
https://nextclaw.io(下载安装脚本)- Docker 镜像源(拉取
node:22-bookworm-slim) - npm registry(安装
nextclaw)
- 默认端口未被占用:
- UI:
55667 - Gateway:
18890
- UI:
一键部署命令
bash
curl -fsSL https://nextclaw.io/install-docker.sh | bash启动后你会看到什么
脚本完成后会输出类似:
text
UI: http://127.0.0.1:55667
API: http://127.0.0.1:55667/api
Gateway (direct): http://127.0.0.1:18890
Data dir: /Users/<you>/.nextclaw-docker
Container: nextclaw与 nextclaw start 一样,你可以直接打开 UI 链接访问。
脚本实际做了什么
- 容器镜像默认使用
node:22-bookworm-slim,并优先启用docker run --init(若当前 Docker 版本支持)。 - 容器内启动链路是:
npm i -g nextclaw@latest(或你通过NEXTCLAW_DOCKER_INSTALL_TARGET指定的版本)nextclaw init(确保配置与工作区初始化)exec nextclaw serve --ui-port <port>(以前台进程方式运行,符合容器常驻模型)
常用运维命令
查看日志:
bash
docker logs -f nextclaw重启:
bash
docker restart nextclaw停止:
bash
docker stop nextclaw删除容器(数据目录保留):
bash
docker rm -f nextclaw自定义端口 / 数据目录 / 容器名
方式 1:环境变量(最常用)
bash
NEXTCLAW_DOCKER_UI_PORT=18991 \
NEXTCLAW_DOCKER_API_PORT=18990 \
NEXTCLAW_DOCKER_CONTAINER_NAME=nextclaw-prod \
NEXTCLAW_DOCKER_DATA_DIR="$HOME/.nextclaw-docker-prod" \
curl -fsSL https://nextclaw.io/install-docker.sh | bash方式 2:脚本参数
bash
curl -fsSL https://nextclaw.io/install-docker.sh | bash -s -- \
--ui-port 18991 \
--api-port 18990 \
--container-name nextclaw-prod \
--data-dir "$HOME/.nextclaw-docker-prod"仅预览命令(不实际启动)
bash
curl -fsSL https://nextclaw.io/install-docker.sh | bash -s -- --dry-run升级到最新版本
直接重复执行一键命令即可。
脚本会重建同名容器,数据仍在挂载目录中(默认 ~/.nextclaw-docker)。
如果你想固定版本,可指定:
bash
NEXTCLAW_DOCKER_INSTALL_TARGET=[email protected] \
curl -fsSL https://nextclaw.io/install-docker.sh | bash常见问题
报错:docker is required
说明系统找不到 Docker。请先安装 Docker 并确认 docker version 可用。
报错:docker daemon is not reachable
说明 Docker 服务未启动。请先启动 Docker Desktop/daemon。
报错:健康检查超时(/api/health)
先看容器日志:
bash
docker logs --tail 120 nextclaw常见原因:
- 拉取镜像/安装 npm 包较慢(网络问题)
- 首次执行
nextclaw init需要初始化配置/模板 - 端口冲突导致服务没起来
端口冲突
改用其他端口重新执行,见“自定义端口”示例。