上一篇 下一篇 分享链接 返回 返回顶部

零基础用 Docker 搭建 Claude 网页聊天服务教程

发布人:慈云数据-客服中心 发布时间:13小时前 阅读量:7

Claude Docker部署教程|零基础可学

说明:Claude 是 Anthropic 公司提供的大语言模型服务,本身并不能像普通开源模型一样直接下载到本地运行。所谓“Claude Docker 部署”,通常指的是:

  1. 使用 Docker 部署一个可以调用 Claude API 的应用;
  2. 使用 Docker 部署一个 Claude Web UI、API 中转服务或聊天面板;
  3. 在服务器上通过容器化方式运行与 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。

通常流程如下:

  1. 访问 Anthropic 控制台;
  2. 注册或登录账号;
  3. 创建 API Key;
  4. 保存密钥。

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

不同项目的参数略有差异,但核心步骤基本一致:

  1. 拉取项目镜像;
  2. 编写 docker-compose.yml
  3. 配置 Claude API Key;
  4. 启动容器;
  5. 浏览器访问服务;
  6. 测试 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 的界面设置可能不同,但通常需要检查以下内容:

  1. API Key 是否已正确识别;
  2. 模型提供商是否选择 Anthropic;
  3. 模型名称是否填写正确;
  4. 是否启用了 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:浏览器打不开页面

可能原因:

  1. 容器没有启动;
  2. 端口没有开放;
  3. 云服务器安全组没放行;
  4. 防火墙拦截;
  5. 服务启动失败。

排查命令:

docker ps
docker logs claude-web

检查端口:

ss -tunlp | grep 3000

问题2:页面打开了,但 Claude 不回复

可能原因:

  1. API Key 填错;
  2. API Key 没有余额;
  3. 当前网络无法访问 Anthropic API;
  4. 模型名称不正确;
  5. 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

不要使用 123456adminpassword 这类弱密码。

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 的应用”部署到服务器上。

完整流程可以概括为:

  1. 准备服务器;
  2. 获取 Claude API Key;
  3. 安装 Docker 和 Docker Compose;
  4. 创建项目目录;
  5. 编写 docker-compose.yml
  6. 配置 API Key 和访问密码;
  7. 启动容器;
  8. 浏览器访问 Web 页面;
  9. 测试 Claude 对话;
  10. 配置域名和 HTTPS;
  11. 做好安全防护。

对于新手来说,最容易出错的地方主要是:API Key 填写错误、端口未开放、YAML 缩进错误、模型名称不匹配。只要按照本文步骤逐项检查,基本都能顺利解决。

完成部署后,你就拥有了一个属于自己的 Claude Web 聊天服务。无论是写文章、写代码、整理资料、翻译文本,还是接入企业工作流,都可以在这个基础上继续扩展。

目录结构
全文