---
title: "Docker部署"
description: "使用 Docker 和 Docker Compose 部署 LangBot,几分钟内运行支持 Discord、Telegram、微信等多平台的开源 AI 聊天机器人。"
---
您需要提前了解:
- `Docker` 和 `Docker Compose` 的使用
- Docker 容器间网络通信配置方式
- 推荐使用[阿里云,服务器价格低至 38 元一年,更可以享受8折优惠](https://www.aliyun.com/minisite/goods?userCode=ys4ad8gs)
Git 克隆本项目:
```bash
git clone https://github.com/langbot-app/LangBot
cd LangBot/docker
```
启动容器(推荐启用 `all` profile,以默认启用沙箱、stdio MCP 托管、Skill 添加/编辑等依赖 Box Runtime 的功能):
```bash
docker compose --profile all up
```
这会启动 `langbot`、`langbot_plugin_runtime` 和 `langbot_box`。如果只需要基础服务,不启用 Box Runtime,可以使用:
```bash
docker compose up
```
`langbot_box` 通过主机 Docker socket 创建沙箱容器,因此 Box 根目录的宿主机路径和容器内路径必须一致:
```yaml
services:
langbot:
environment:
- BOX__LOCAL__HOST_ROOT=${LANGBOT_BOX_ROOT:-${PWD}/data/box}
- BOX__LOCAL__DEFAULT_WORKSPACE=default
- BOX__LOCAL__SKILLS_ROOT=skills
- BOX__LOCAL__ALLOWED_MOUNT_ROOTS=${LANGBOT_BOX_ROOT:-${PWD}/data/box}
langbot_box:
profiles: ["box", "all"]
volumes:
- ${LANGBOT_BOX_ROOT:-${PWD}/data/box}:${LANGBOT_BOX_ROOT:-${PWD}/data/box}
- /var/run/docker.sock:/var/run/docker.sock
```
**Box 控制面的启动方式因部署方式而异。** 容器部署下,Box 控制面以独立的 `langbot_box` **容器**运行,`langbot` 通过 WebSocket(`ws://langbot_box:5410`)连接它;而手动启动 / `uvx` 部署则由 `langbot` 直接拉起一个 stdio 子进程作为 Box 控制面。`langbot_box` 借助挂载的宿主 `docker.sock` 在宿主 Docker 上创建沙箱兄弟容器,LangBot 镜像已内置 `docker` 客户端,无需额外安装。
如果提示 `No sandbox backend (Docker/nsjail/E2B) is ready`,请先确认当前用户可访问 Docker:
```bash
sudo usermod -aG docker $USER
newgrp docker
docker info
```
若 `docker info` 正常输出,请重启 LangBot。
`langbot_box` 不直接读取 `LANGBOT_BOX_*` 或 `BOX__*` 环境变量;Box 配置由 `langbot` 读取 `BOX__LOCAL__*` 后通过 INIT RPC 传给 Box Runtime。若要改 Box 根目录,请使用绝对路径设置 `LANGBOT_BOX_ROOT`,例如 `LANGBOT_BOX_ROOT=/var/lib/langbot/box docker compose --profile all up`。
- 如果你的主机位于中国大陆,可以考虑把 `docker-compose.yaml` 文件中的镜像名称改为`docker.langbot.app/langbot-public/rockchin/langbot:latest`以使用我们提供的镜像源。
- 推荐[设置 Docker 容器代理](https://docker.github.net.cn/network/proxy/),以便保证 LangBot 在运行期间的网络访问通畅。
- 如果需要禁用或强制沙箱后端,请参考[沙箱配置](/zh/usage/sandbox/config)。
首次启动会输出创建配置文件的提示,请继续按照文件配置。
容器会映射`5300`端口供 WebUI 使用,您可以访问`http://127.0.0.1:5300`查看 WebUI。\
还会映射`2280-2285`端口供使用 OneBot 协议的消息平台适配器反向连接。
完成 LangBot 部署后,请继续阅读:
- [配置机器人文档](/zh/usage/platforms/readme)。
- [配置模型文档](/zh/usage/models/readme)。
- [沙箱文档](/zh/usage/sandbox/readme)。
- [技能系统文档](/zh/usage/skills/readme)。