首先请安装Windows docker desktop,遇到报错可以参考这篇文章:https://blog.csdn.net/rav009/article/details/
装好后,我们要先准备一个镜像,来作为我们构筑Openclaw Image的环境。这里推荐docker:dind
docker pull docker:dind docker run -it --privileged --name docker-builder -v "D:ProgramDataDocker-Volumedind:/workspace" docker:dind
这里的“D:ProgramDataDocker-Volumedind” 替换成你windows的实际目录,之后Openclaw的image文件会生成在这里。
在Docker Desktop里,用Exec进入dind的容器的命令行,运行如下命令:
cd /workspace # 在dind里获取openclaw源码,也可以从windows里把源码下载好,放进映射的目录里。 git clone https://github.com/OpenClaw/OpenClaw.git # 安装openclaw image build的依赖 apk update && apk add --no-cache bash build-base python3 nodejs npm openssl # 补全 docker compose 软链接(避免命令找不到) ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
参考图:

注意:apline的源有可能报TLS错误,是国内网络造成的,可以换ali的源
# 1. 备份原源文件(容器内执行) mv /etc/apk/repositories /etc/apk/repositories.bak # 2. 写入阿里云国内源(适配 Alpine v3.23) echo "https://mirrors.aliyun.com/alpine/v3.23/main/" > /etc/apk/repositories echo "https://mirrors.aliyun.com/alpine/v3.23/community/" >> /etc/apk/repositories
进行build:
# 1. 定义镜像名称(自定义,方便识别) export OPENCLAW_IMAGE=openclaw:local # 2. 定义 apt 包(Alpine 系统用不到,留空即可) export OPENCLAW_DOCKER_APT_PACKAGES="" docker build --build-arg "OPENCLAW_DOCKER_APT_PACKAGES=${OPENCLAW_DOCKER_APT_PACKAGES}" -t "${OPENCLAW_IMAGE}" -f /workspace/openclaw/Dockerfile /workspace/openclaw
注意这里又会有个错误,是关于npm link的,如下图:

这里需要做两件事:
1. 在dind容器里主动创建相关目录:
mkdir /usr/local/lib/node_modules
2. 修改Openclaw的Dockerfile,在“RUN npm link”前,加入USER root。使用root身份执行“RUN npm link”,执行后再切回node用户。
USER root RUN npm link USER node
解决上述问题后就可以导出image的tar文件了。
docker images docker save -o /workspace/openclaw-local.tar openclaw:local
如果你的/workspace和windows的对应目录(我映射的是“D:ProgramDataDocker-Volumedind”)映射正确的话,就可以去windows的对应目录下找到openclaw-local.tar文件了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/273735.html