使用Docker部署OpenClaw的完整流程

 更新时间:2026年03月06日 08:50:13   作者:HBLOG  
本文详细介绍了从源码编译到Docker容器化部署OpenClaw的过程,包括编译打包、启动容器、配置Token以及迁移部署的步骤和注意事项,需要的朋友可以参考下

本文记录了从源码到 Docker 容器化部署 OpenClaw 的完整流程,包括编译打包、迁移到其他机器以及访问配置。

1. 克隆源码

首先,从官方仓库克隆 OpenClaw 源码:

git clone https://github.com/openclaw/openclaw.gitcd openclaw

2. 编译与打包(执行 docker-setup.sh 脚本)

在源码目录下,执行 docker-setup.sh 脚本完成编译和打包:

./docker-setup.sh

执行后会完成以下操作:

  • 安装依赖(npm / pnpm)
  • 将 TypeScript 源码编译为 JavaScript,并生成 dist/ 目录
  • 构建 Docker 镜像,包含已经编译好的 OpenClaw

可以通过以下命令检查是否成功:

docker images | grep openclaw

或者在容器内运行:

docker run --rm openclaw:local node dist/index.js --version

如果输出版本号,即表示编译完成。

3. 启动 Docker 容器

使用 docker-compose 启动 OpenClaw 网关和 CLI:

docker-compose up -d

启动后,网关默认监听 18789 端口。

4. 配置 Token 并访问 Control UI

  1. 进入容器生成 Dashboard Token:
  2. docker-compose exec openclaw-cli openclaw dashboard --no-open

输出类似:

Dashboard URL: http://127.0.0.1:18789/#token=<your-token>

拷贝 URL 到浏览器,使用 Token 登录 Control UI。

若需要多设备访问,可在 openclaw.json 中配置:

"gateway": { "controlUi": { "allowInsecureAuth": true }}

注意:此方式仅限使用 Token 登录,且存在安全风险,请仅在可信网络中使用。

5. 迁移到其他机器

迁移时,除了 Docker 镜像,还需要迁移 配置和环境文件

保存 Docker 镜像:

docker save openclaw:local -o openclaw.tar

在目标机器加载镜像:

docker load -i openclaw.tar

迁移配置文件和环境变量:

在目标机器启动容器:

cd /home/user/openclawdocker-compose up -d

这样可以保证原有的 Token、Workspace 和插件配置完整迁移。

6. 注意事项

  1. HTTPS / 设备身份
    • 默认 Control UI 需要 设备身份,否则浏览器会报错 control ui requires device identity
    • 在公网访问或多设备访问时,推荐使用 HTTPS(可用自签名证书或 Tailscale Serve)保护 Token。
    • 若必须使用 HTTP,可在 openclaw.json 中添加: "gateway": {
      "controlUi": {
      "allowInsecureAuth": true
      }
      } 仅支持 Token 登录,安全性降低。
  2. 跨域访问
    • 默认 Control UI 允许 http://localhost127.0.0.1
    • 若从其他主机访问,确保 gateway.controlUi.allowedOrigins 包含你的浏览器访问地址。例如: "gateway": {
      "controlUi": {
      "allowedOrigins": ["http://172.244.44.35:18789"\]
      }
      }
  3. 设备授权
    • 当多台设备访问时,可能需要 配对批准: openclaw devices list
      openclaw devices approve
    • 配对失败或 Token 登录过多次失败,会出现 unauthorized: too many failed authentication attempts,需等待或重新生成 Token。
  4. Token 多设备使用
    • 默认同一个 Token 仅允许单设备登录。
    • 若需要多人访问,可考虑为每个用户生成独立 Token 或配置 allowInsecureAuth(存在安全风险)。

以上就是使用Docker部署OpenClaw的完整流程的详细内容,更多关于Docker部署OpenClaw的资料请关注脚本之家其它相关文章!

相关文章

  • Docker下MySQL配置文件不生效的解决方法(超全面!)

    Docker下MySQL配置文件不生效的解决方法(超全面!)

    在Docker中运行MySQL并遇到需要调整配置的情况时,比如想要关闭ONLY_FULL_GROUP_BY的严格模式,我们可以通过以下步骤来实现sql_mode的修改:以下是解决此类问题的步骤和思路,需要的朋友可以参考下
    2024-09-09
  • dockerfile引用自建dns服务方式

    dockerfile引用自建dns服务方式

    这篇文章主要介绍了dockerfile引用自建dns服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • seata docker 高可用部署的详细介绍

    seata docker 高可用部署的详细介绍

    这篇文章主要介绍了seata docker 高可用部署的相关知识,通过相关配置文件实现高可用需要依赖注册中心,配置中心,数据库,需要的朋友可以参考下
    2021-07-07
  • 10分钟学会docker

    10分钟学会docker

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    2017-06-06
  • Docker查询挂载的目录的几种实用方法

    Docker查询挂载的目录的几种实用方法

    要查询 Docker 容器的挂载目录,最核心、最准确的方法是使用 docker inspect 命令,下面为你介绍几种从简到繁的实用方法,需要的朋友可以参考下
    2026-05-05
  • docker swarm集群搭建过程对比k8s区别解析

    docker swarm集群搭建过程对比k8s区别解析

    Docker Swarm和Kubernetes是两种流行的容器编排工具,它们在服务部署、高可用性、滚动更新、资源管理和存储编排方面有所不同,本文给大家介绍docker swarm集群搭建过程对比k8s区别解析,感兴趣的朋友一起看看吧
    2025-11-11
  • docker部署minio并使用springboot连接的操作方法

    docker部署minio并使用springboot连接的操作方法

    这篇文章主要介绍了docker部署minio并使用springboot连接的操作方法,本文以minio为例结合实例代码给大家详细讲解,需要的朋友可以参考下
    2023-11-11
  • Docker核心命令与实践指南示例详解

    Docker核心命令与实践指南示例详解

    本文系统整理Docker的核心概念与常用命令,涵盖镜像管理、容器操作、数据存储、网络配置、Compose 编排以及 Dockerfile 构建等内容,感兴趣的朋友跟随小编一起看看吧
    2025-06-06
  • Docker Consul概述以及集群环境搭建步骤(图文详解)

    Docker Consul概述以及集群环境搭建步骤(图文详解)

    本文主要介绍了Docker-Consul概述以及集群环境搭建步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Docker部署web项目的实现

    Docker部署web项目的实现

    这篇文章主要介绍了Docker部署web项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论