2026年Docker安装部署OpenClaw

Docker安装部署OpenClaw软件环境描述说明 OS openEuler 24 03 LTS SP3 dockers 29 2 1 openclaw 2026 2 3 node 25 5 0 bookworm nginx 1 28 1 1 访问拓扑 1 台宿主机可为多用户提供 OpenClaw 服务 只需创建多个 Docker Bridge 和不同名称 OpenClaw gateway cli 和多个持久化目录即可

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



软件环境描述说明:

  • OS:openEuler 24.03 LTS SP3
  • dockers:29.2.1
  • openclaw:2026.2.3
  • node:25.5.0-bookworm
  • nginx:1.28.1 1

访问拓扑(1台宿主机可为多用户提供OpenClaw服务,只需创建多个Docker Bridge和不同名称OpenClaw-gateway/cli和多个持久化目录即可,不同OpenClaw容器设置不同服务端口使用不同的Docker Bridge隔离,并修改Nginx配置即可)

1. 下载OpenClaw

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

2. 构建openclaw镜像

# mv Dockerfile Dockerfile-ols && echo “ > Dockerfile

vi Dockerfile

FROM node:25.5.0-bookworm

RUN curl -fsSL https://bun.sh/install | bash ENV PATH=”/root/.bun/bin:${PATH}” RUN npm install -g pnpm WORKDIR /app

ARG OPENCLAW_DOCKER_APT_PACKAGES=“” RUN if [ -n “$OPENCLAW_DOCKER_APT_PACKAGES” ]; then

 apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends $OPENCLAW_DOCKER_APT_PACKAGES && apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*; fi 

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./ COPY ui/package.json ./ui/package.json COPY patches ./patches COPY scripts ./scripts

RUN pnpm install –frozen-lockfile

COPY . . RUN OPENCLAW_A2UI_SKIP_MISSING=1 pnpm build ENV OPENCLAW_PREFER_PNPM=1 RUN pnpm ui:build ENV NODE_ENV=production RUN chown -R node:node /app USER node

ENTRYPOINT [“node”, “dist/index.js”] CMD [“gateway”, “–allow-unconfigured”, “–bind”, “lan”]

# LATEST_TAG=\((git tag --sort=-creatordate | head -1) && TAG_NO_V=\){LATEST_TAG#v} && git checkout \(LATEST_TAG && docker build -t openclaw:\)TAG_NO_V .

3. 创建OpenClaw持久化目录和.env文件

# mkdir -p /opt/openclaw/{config,workspace,certs} && chown -R 1000:1000 /opt/openclaw/{config,workspace}

cat > /opt/openclaw/.env << EOF

OPENCLAW_CONFIG_DIR=/opt/openclaw/config OPENCLAW_WORKSPACE_DIR=/opt/openclaw/workspace OPENCLAW_SSL_DIR=/opt/openclaw/certs OPENCLAW_GATEWAY_TOKEN=$(openssl rand -hex 32 2>/dev/null || python3 -c “import secrets; print(secrets.token_hex(32))”) EOF

source /opt/openclaw/.env

4. 创建OpenClaw网关容器

# docker network create –subnet=172.18.0.0/24 openclaw-net

docker run -it

–name openclaw-gateway –restart unless-stopped –network openclaw-net –cpus=1 –memory=2048m -e TERM=xterm-256color -v \(OPENCLAW_CONFIG_DIR:/home/node/.openclaw -v \)OPENCLAW_WORKSPACE_DIR:/home/node/.openclaw/workspace -e OPENCLAW_GATEWAY_TOKEN:$OPENCLAW_GATEWAY_TOKEN -e TZ=Asia/Shanghai -d openclaw:2026.2.3

5. 生成自签名证书(也直接使用合法SSL证书)

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /opt/openclaw/certs/openclaw.pem -out /opt/openclaw/certs/openclaw.pem -subj “/C=CN/ST=Beijing/L=Beijing/O=person/CN=openclaw.local”

6. 创建Nginx容器

# vi /opt/openclaw/config/nginx.conf worker_processes auto; events {

worker_connections 1024; 

} http {

include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn; sendfile on; keepalive_timeout 65; upstream openclaw { server openclaw-gateway:18789; } server } 

}

docker run -it –name openclaw-nginx –restart unless-stopped –network openclaw-net -p 443:443 -e TZ=Asia/Shanghai -v \(OPENCLAW_CONFIG_DIR/nginx.conf:/etc/nginx/nginx.conf -v \)OPENCLAW_SSL_DIR:/etc/nginx/certs:ro -d nginx:1.28.1

 7. 创建OpenClaw控制器容器并配置OpenClaw

docker run -it –name openclaw-cli –restart unless-stopped –network openclaw-net -e TZ=Asia/Shanghai -e TERM=xterm-256color -v \(OPENCLAW_CONFIG_DIR:/home/node/.openclaw -v \)OPENCLAW_WORKSPACE_DIR:/home/node/.openclaw/workspace -e OPENCLAW_GATEWAY_TOKEN:$OPENCLAW_GATEWAY_TOKEN openclaw:2026.2.3 onboard –no-install-daemon

8. 进入CLI配置OpenClaw

 1.初始化配置 docker exec -it openclaw-cli node dist/index.js onboard

2.查看配对请求

docker exec -it openclaw-cli node dist/index.js devices list

3.批准配对请求(使用步骤 2 中看到的 requestId)

docker exec -it openclaw-cli node dist/index.js devices approve

9. OpenClaw启用局域网模型

# vi /opt/openclaw/config/openclaw.json “gateway”: {

"port": 18789, "mode": "remote", "bind": "lan", "controlUi": { "enabled": true, "allowInsecureAuth": true }, "auth": { "mode": "token", "token": "ff81f92b603adfcd286ff7cea832de05925e3d2fba" }, "trustedProxies": [ "172.18.0.0/24" //Docker bridge网段 ], "tailscale": , "remote": { "url": "ws://openclaw-gateway:18789", //Gateway网关容器name "token": "ff81f92b603adfcd286ff7cea832de05925e3d2fba" } 

},

docker restart openclaw-gateway

10. 访问OpenClaw UI页面:https://{宿主机IP}/?token={OPENCLAW_GATEWAY_TOKEN}

onboard

instances

小讯
上一篇 2026-04-23 11:16
下一篇 2026-04-23 11:14

相关推荐

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