零基础用 Docker 搭建 Claude 网页聊天服务教程
Claude Docker部署教程|零基础可学
说明:Claude 是 Anthropic 公司提供的大语言模型服务,本身并不能像普通开源模型一样直接下载到本地运行。所谓“Claude Docker 部署”,通常指的是:
- 使用 Docker 部署一个可以调用 Claude API 的应用;
- 使用 Docker 部署一个 Claude Web UI、API 中转服务或聊天面板;
- 在服务器上通过容器化方式运行与 Claude 相关的项目。
本文将以“使用 Docker 部署一个支持 Claude API 的聊天 Web 服务”为例,带你从零开始完成环境准备、配置 API Key、启动服务、访问测试和常见问题排查。
一、适合人群
本文适合以下读者:
- 没有 Docker 基础,但想快速上手部署 Claude 相关服务;
- 有服务器,但不知道如何安装 Docker;
- 想把 Claude API 接入到网页聊天界面;
- 想用 Docker Compose 管理 Claude 项目;
- 想学习基础的容器化部署流程。
如果你已经熟悉 Linux、Docker、Docker Compose,也可以直接跳到后面的部署部分。
二、部署前你需要了解什么?
在正式操作之前,我们先搞清楚几个概念。
1. Claude 是什么?
Claude 是 Anthropic 推出的大语言模型系列,常见模型包括:
- Claude 3 Haiku
- Claude 3 Sonnet
- Claude 3 Opus
- Claude 3.5 Sonnet
- Claude 3.7 Sonnet 等
它可以用于聊天、写作、代码生成、内容总结、数据分析等场景。
2. Claude 能不能直接 Docker 部署?
严格来说,Claude 模型本体不能直接通过 Docker 私有化部署。
原因是 Claude 属于商业闭源模型,用户通常只能通过以下方式使用:
- Anthropic 官方 API;
- 第三方平台提供的 Claude 接口;
- 集成了 Claude 的应用或服务。
所以本文中的“Docker部署Claude”,更准确地说是:通过 Docker 部署一个调用 Claude API 的应用服务。
3. Docker 是什么?
Docker 可以理解为一种“软件打包和运行工具”。
传统部署一个应用,需要安装各种依赖,例如:
- Node.js
- Python
- 数据库
- 运行环境
- 配置文件
而 Docker 可以把这些东西封装成一个镜像,然后在服务器上以容器的形式运行。这样部署更简单,也更容易迁移。
4. Docker Compose 是什么?
Docker Compose 是 Docker 的编排工具。
如果一个项目有多个容器,比如:
- Web 服务;
- 数据库;
- Redis;
- 后端接口;
你可以用一个 docker-compose.yml 文件统一管理它们。
本文会使用 Docker Compose,因为它对新手更友好。
三、准备工作
在开始之前,你需要准备以下内容。
1. 一台服务器
推荐配置:
| 项目 | 建议配置 |
|---|---|
| CPU | 1核或以上 |
| 内存 | 1GB 或以上 |
| 硬盘 | 10GB 或以上 |
| 系统 | Ubuntu 20.04 / 22.04 / Debian 11+ |
| 网络 | 能访问 Claude API |
如果你只是学习,也可以使用本地电脑安装 Docker Desktop。
2. 一个 Claude API Key
你需要从 Anthropic 官方平台获取 API Key。
通常流程如下:
- 访问 Anthropic 控制台;
- 注册或登录账号;
- 创建 API Key;
- 保存密钥。
API Key 一般长这样:
sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxx
请注意:
API Key 相当于你的账号密码,不要公开上传到 GitHub,也不要发给别人。
3. 一个 SSH 工具
如果你使用云服务器,需要通过 SSH 登录。
常见工具:
- Windows:PowerShell、Windows Terminal、Xshell、MobaXterm;
- macOS:系统自带终端;
- Linux:系统自带终端。
假设你的服务器 IP 是:
123.123.123.123
登录命令示例:
ssh root@123.123.123.123
四、安装 Docker
下面以 Ubuntu 系统为例。
1. 更新系统软件包
登录服务器后,先执行:
apt update
然后升级系统包:
apt upgrade -y
2. 安装必要工具
apt install -y ca-certificates curl gnupg lsb-release
3. 安装 Docker
推荐使用官方安装脚本:
curl -fsSL https://get.docker.com | bash
安装完成后,查看 Docker 版本:
docker version
如果能看到版本信息,说明 Docker 安装成功。
4. 设置 Docker 开机自启
systemctl enable docker
systemctl start docker
查看 Docker 状态:
systemctl status docker
如果显示 active running,说明 Docker 正在运行。
五、安装 Docker Compose
现在新版 Docker 通常已经内置 Compose 插件。
你可以执行:
docker compose version
如果看到类似下面的输出:
Docker Compose version v2.x.x
说明已经安装好了。
如果没有安装,可以执行:
apt install -y docker-compose-plugin
再次检查:
docker compose version
六、选择部署方案
Claude API 可以接入很多开源 Web UI。
常见选择有:
| 项目类型 | 说明 |
|---|---|
| ChatGPT Next Web | 支持多种模型接口,界面简洁 |
| LibreChat | 功能丰富,支持多用户和多模型 |
| Open WebUI | 常用于本地模型,也可接入外部 API |
| 自建 Node.js/Python 服务 | 灵活性最高,适合开发者 |
为了照顾零基础用户,本文采用一个通用部署思路:通过 Docker Compose 部署一个 Web 聊天服务,并在环境变量中配置 Claude API Key。
不同项目的参数略有差异,但核心步骤基本一致:
- 拉取项目镜像;
- 编写
docker-compose.yml; - 配置 Claude API Key;
- 启动容器;
- 浏览器访问服务;
- 测试 Claude 对话。
下面我们以较常见的 Web UI 部署方式进行讲解。
七、创建项目目录
建议把项目放在 /opt 目录下。
mkdir -p /opt/claude-web
cd /opt/claude-web
mkdir -p 的意思是:如果目录不存在就创建,如果已经存在也不会报错。
八、编写 Docker Compose 文件
创建配置文件:
nano docker-compose.yml
然后写入以下内容:
services:
claude-web:
image: yidadaa/chatgpt-next-web:latest
container_name: claude-web
restart: always
ports:
- "3000:3000"
environment:
- ANTHROPIC_API_KEY=你的Claude_API_Key
- CODE=your_password
保存文件:
- 如果你使用
nano编辑器; - 按
Ctrl + O保存; - 按回车确认;
- 按
Ctrl + X退出。
这里解释一下每一项含义:
services:
表示定义服务。
claude-web:
这是服务名称,可以自定义。
image:
表示使用哪个 Docker 镜像。
container_name:
表示容器名称。
restart: always
表示容器异常退出后自动重启,服务器重启后也会自动启动。
ports:
- "3000:3000"
表示把服务器的 3000 端口映射到容器内部的 3000 端口。
environment:
表示环境变量配置。
其中:
ANTHROPIC_API_KEY=你的Claude_API_Key
这里要改成你的真实 Claude API Key。
例如:
ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxx
另一个参数:
CODE=your_password
表示访问密码,你可以改成自己的密码,例如:
CODE=myclaude2025
完整示例:
services:
claude-web:
image: yidadaa/chatgpt-next-web:latest
container_name: claude-web
restart: always
ports:
- "3000:3000"
environment:
- ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxx
- CODE=myclaude2025
九、启动 Claude Web 服务
在 /opt/claude-web 目录下执行:
docker compose up -d
参数说明:
up:启动服务;-d:后台运行。
查看容器状态:
docker ps
如果看到类似:
claude-web Up 0.0.0.0:3000->3000/tcp
说明服务已经启动。
十、访问 Claude Web 页面
打开浏览器,访问:
http://你的服务器IP:3000
例如:
http://123.123.123.123:3000
如果页面能正常打开,就说明部署成功了。
进入页面后,如果需要访问密码,就输入你在 CODE 中配置的密码。
十一、配置 Claude 模型
不同 Web UI 的界面设置可能不同,但通常需要检查以下内容:
- API Key 是否已正确识别;
- 模型提供商是否选择 Anthropic;
- 模型名称是否填写正确;
- 是否启用了 Claude 模型。
常见 Claude 模型名示例:
claude-3-5-sonnet-latest
claude-3-5-haiku-latest
claude-3-opus-latest
如果项目要求手动填写模型名称,可以优先选择:
claude-3-5-sonnet-latest
这个模型在能力和速度之间比较均衡,适合大多数写作、问答和代码场景。
十二、测试是否成功
你可以在聊天框里输入:
请用中文介绍一下你自己。
如果 Claude 正常回复,就说明部署完成。
也可以测试代码能力:
请用 Python 写一个计算斐波那契数列的函数。
或者测试长文本总结:
请总结下面这段文章,并提炼出5个要点。
如果这些都能正常返回,说明你的 Docker 服务、API Key、网络连接基本没有问题。
十三、开放服务器防火墙端口
如果你无法访问 http://服务器IP:3000,可能是服务器安全组或防火墙没有放行端口。
1. 云服务器安全组
如果你使用的是阿里云、腾讯云、华为云、AWS、Vultr 等云服务器,需要到控制台添加安全组规则。
开放端口:
3000
协议:
TCP
来源:
0.0.0.0/0
如果你只想自己访问,更安全的做法是只放行你的本地 IP。
2. Ubuntu UFW 防火墙
如果服务器启用了 UFW,可以执行:
ufw allow 3000/tcp
ufw reload
查看状态:
ufw status
十四、使用域名访问
如果你不想每次输入 IP:3000,可以绑定域名。
假设你的域名是:
claude.example.com
你需要先在域名 DNS 解析中添加 A 记录:
| 类型 | 主机记录 | 记录值 |
|---|---|---|
| A | claude | 你的服务器IP |
等待解析生效后,可以通过:
http://claude.example.com:3000
访问。
不过更推荐使用 Nginx 反向代理,让用户直接访问:
https://claude.example.com
十五、配置 Nginx 反向代理
安装 Nginx:
apt install -y nginx
创建配置文件:
nano /etc/nginx/sites-available/claude-web
写入:
server {
listen 80;
server_name claude.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
启用站点:
ln -s /etc/nginx/sites-available/claude-web /etc/nginx/sites-enabled/
检查配置:
nginx -t
重启 Nginx:
systemctl restart nginx
现在可以访问:
http://claude.example.com
十六、申请 HTTPS 证书
为了安全,建议配置 HTTPS。
安装 Certbot:
apt install -y certbot python3-certbot-nginx
申请证书:
certbot --nginx -d claude.example.com
根据提示选择是否强制跳转 HTTPS。
完成后访问:
https://claude.example.com
如果能打开,说明 HTTPS 配置成功。
十七、更新服务
以后如果你想更新镜像,可以进入项目目录:
cd /opt/claude-web
拉取最新镜像:
docker compose pull
重新启动:
docker compose up -d
清理无用镜像:
docker image prune -f
十八、停止和删除服务
如果你只是临时测试,想停止服务:
cd /opt/claude-web
docker compose down
这会停止并删除容器,但不会删除你的 docker-compose.yml 文件。
如果以后还想启动:
docker compose up -d
如果你想查看日志:
docker logs claude-web
实时查看日志:
docker logs -f claude-web
十九、常见问题排查
问题1:浏览器打不开页面
可能原因:
- 容器没有启动;
- 端口没有开放;
- 云服务器安全组没放行;
- 防火墙拦截;
- 服务启动失败。
排查命令:
docker ps
docker logs claude-web
检查端口:
ss -tunlp | grep 3000
问题2:页面打开了,但 Claude 不回复
可能原因:
- API Key 填错;
- API Key 没有余额;
- 当前网络无法访问 Anthropic API;
- 模型名称不正确;
- Web UI 不支持对应 Claude 模型。
建议先查看日志:
docker logs claude-web
如果看到 401,通常是 API Key 错误。
如果看到 429,可能是请求过多或额度限制。
如果看到 model not found,可能是模型名不正确。
问题3:Docker Compose 启动报错
如果提示:
yaml: line xx: did not find expected key
通常是 docker-compose.yml 缩进错误。
YAML 文件对缩进非常敏感,建议:
- 使用空格,不要使用 Tab;
- 同一级配置保持相同缩进;
- 冒号后面加空格。
问题4:端口被占用
如果提示端口 3000 已被占用,可以修改端口映射。
例如把服务器端口改成 3100:
ports:
- "3100:3000"
然后重启:
docker compose up -d
访问:
http://服务器IP:3100
问题5:忘记访问密码
编辑配置文件:
cd /opt/claude-web
nano docker-compose.yml
修改:
- CODE=新的密码
然后重启:
docker compose up -d
二十、安全建议
Claude API Key 很重要,一旦泄露可能产生费用。建议做到以下几点:
1. 不要公开 API Key
不要把包含 API Key 的配置文件上传到 GitHub。
2. 设置访问密码
务必配置访问密码,例如:
- CODE=strong_password_here
不要使用 123456、admin、password 这类弱密码。
3. 使用 HTTPS
如果服务对外开放,建议配置 HTTPS,避免访问密码和聊天内容被明文传输。
4. 限制访问 IP
如果只是个人使用,可以在云服务器安全组中只允许自己的 IP 访问。
5. 定期查看账单
Claude API 是按量计费的,建议定期查看用量,避免异常调用造成费用损失。
二十一、进阶玩法
当基础部署完成后,你还可以继续扩展。
1. 多模型接入
除了 Claude,还可以接入:
- OpenAI;
- Gemini;
- DeepSeek;
- Moonshot;
- 本地 Ollama 模型;
- 其他兼容 OpenAI API 格式的模型。
这样一个 Web UI 就可以同时管理多个模型。
2. 多用户管理
如果你要给团队使用,可以选择支持用户系统的项目,例如 LibreChat。
它通常支持:
- 用户注册;
- 权限管理;
- 会话记录;
- 多模型配置;
- 文件上传;
- 管理后台。
3. 接入知识库
部分 Web UI 支持知识库功能,可以上传文档,让 Claude 基于你的资料回答问题。
适用场景包括:
- 公司内部知识库;
- 产品手册问答;
- 技术文档助手;
- 客服问答机器人。
4. 结合自动化工作流
你也可以把 Claude API 接入到:
- n8n;
- Dify;
- FastGPT;
- Flowise;
- Zapier;
- 企业微信机器人;
- 飞书机器人;
从而实现自动回复、数据总结、邮件生成、工单分析等功能。
二十二、完整部署命令汇总
如果你已经理解上面的内容,可以参考下面的精简命令。
apt update && apt upgrade -y
apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://get.docker.com | bash
systemctl enable docker
systemctl start docker
docker compose version
mkdir -p /opt/claude-web
cd /opt/claude-web
nano docker-compose.yml
写入:
services:
claude-web:
image: yidadaa/chatgpt-next-web:latest
container_name: claude-web
restart: always
ports:
- "3000:3000"
environment:
- ANTHROPIC_API_KEY=你的Claude_API_Key
- CODE=你的访问密码
启动:
docker compose up -d
查看:
docker ps
docker logs claude-web
访问:
http://服务器IP:3000
二十三、总结
本文从零基础角度讲解了 Claude Docker 部署的完整流程。需要再次强调的是,Claude 模型本体不能像开源模型那样直接下载到本地运行,Docker 部署的核心是把“调用 Claude API 的应用”部署到服务器上。
完整流程可以概括为:
- 准备服务器;
- 获取 Claude API Key;
- 安装 Docker 和 Docker Compose;
- 创建项目目录;
- 编写
docker-compose.yml; - 配置 API Key 和访问密码;
- 启动容器;
- 浏览器访问 Web 页面;
- 测试 Claude 对话;
- 配置域名和 HTTPS;
- 做好安全防护。
对于新手来说,最容易出错的地方主要是:API Key 填写错误、端口未开放、YAML 缩进错误、模型名称不匹配。只要按照本文步骤逐项检查,基本都能顺利解决。
完成部署后,你就拥有了一个属于自己的 Claude Web 聊天服务。无论是写文章、写代码、整理资料、翻译文本,还是接入企业工作流,都可以在这个基础上继续扩展。