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

站长实战:用 Docker 快速搭建 DeepSeek 私有 AI 服务

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

DeepSeek Docker部署教程|适合站长

随着大模型应用的普及,越来越多站长希望在自己的网站、服务器或内网环境中部署一套可控、稳定、成本相对可控的 AI 服务。DeepSeek 作为近年非常受关注的大模型系列,具备较强的中文理解、代码生成、推理和内容创作能力。对于站长来说,如果能够通过 Docker 快速部署 DeepSeek 相关服务,就可以进一步实现 AI 聊天、内容辅助生成、代码助手、客服机器人、站内搜索增强等功能。

本文将面向站长群体,介绍一种相对简单、实用的 DeepSeek Docker 部署方案。文章会从服务器准备、Docker 安装、模型运行、Web UI 部署、反向代理、安全配置、常见问题等方面进行说明,适合有一定 Linux 基础的网站管理员参考。

说明:DeepSeek 官方提供的是模型和 API 服务,实际本地部署时,通常会借助 Ollama、vLLM、Open WebUI 等工具来运行或管理模型。本文主要以 Ollama + Open WebUI + Docker 的方式演示,适合站长快速搭建一个可访问的 DeepSeek 聊天服务。


一、部署前需要了解的内容

在正式部署之前,站长需要先明确一个问题:你是想使用 DeepSeek 官方 API,还是想在自己的服务器上 本地运行 DeepSeek 模型

两种方式各有区别。

1. 使用 DeepSeek 官方 API

如果你只是想给网站接入 AI 能力,例如自动写文章、智能客服、标题生成、SEO 辅助、代码分析等,那么直接调用 DeepSeek API 是最简单的方式。

优点是:

  • 不需要高配置 GPU 服务器;
  • 部署难度低;
  • 响应质量稳定;
  • 运维成本较低;
  • 适合大多数中小站长。

缺点是:

  • 需要联网调用第三方接口;
  • 按调用量计费;
  • 数据会经过外部 API;
  • 对接口稳定性有一定依赖。

2. 本地部署 DeepSeek 模型

本地部署是指将 DeepSeek 相关开源模型下载到服务器,由服务器自行运行推理服务。

优点是:

  • 数据更加可控;
  • 可用于内网环境;
  • 可以深度集成到自己的业务系统;
  • 长期高频使用时,可能更适合自建。

缺点是:

  • 对服务器配置要求较高;
  • 大模型推理消耗 CPU、内存或 GPU;
  • 运维复杂度更高;
  • 模型越大,需要的硬件资源越多。

对于大多数普通站长来说,如果只是体验或搭建个人 AI 助手,可以选择较小参数的蒸馏模型,例如 deepseek-r1:1.5bdeepseek-r1:7bdeepseek-r1:8b 等。如果你有高性能显卡服务器,再考虑更大的模型。


二、服务器配置建议

DeepSeek 模型大小不同,对硬件要求也不同。下面给出一个大致参考。

1. 最低体验配置

适合运行小模型,例如 1.5B 或 7B 量化版本。

CPU:2 核以上
内存:4GB ~ 8GB
硬盘:20GB 以上可用空间
系统:Ubuntu 20.04 / 22.04 / Debian 11 / Debian 12
GPU:非必须

这种配置可以体验,但速度一般,尤其是 CPU 推理时,回复速度不会特别快。

2. 推荐配置

适合站长日常使用,运行 7B、8B 等模型。

CPU:4 核以上
内存:16GB 以上
硬盘:50GB 以上 SSD
系统:Ubuntu 22.04 LTS
GPU:可选,NVIDIA 显卡更佳

如果有 NVIDIA GPU,并安装好显卡驱动和 NVIDIA Container Toolkit,推理速度会明显提升。

3. 较高性能配置

适合多用户访问、网站业务集成或运行更大模型。

CPU:8 核以上
内存:32GB / 64GB 以上
硬盘:100GB 以上 SSD
GPU:建议 12GB 显存以上,越大越好

需要注意,站长部署 AI 服务时,不要只看模型是否能跑起来,还要考虑并发访问、响应速度、服务器负载以及长期稳定性。


三、安装 Docker 和 Docker Compose

本文以 Ubuntu 22.04 为例。首先通过 SSH 登录服务器。

ssh root@你的服务器IP

更新系统软件包:

apt update && apt upgrade -y

安装必要依赖:

apt install -y ca-certificates curl gnupg lsb-release

安装 Docker:

curl -fsSL https://get.docker.com | bash

安装完成后,查看 Docker 版本:

docker version

设置 Docker 开机自启:

systemctl enable docker
systemctl start docker

查看 Docker Compose 版本:

docker compose version

如果能够正常显示版本号,说明 Docker Compose 插件已经可用。


四、使用 Docker 部署 Ollama

Ollama 是一个非常适合本地运行大模型的工具,支持通过命令拉取和运行多种模型。站长可以把它理解为“大模型运行环境”。

创建部署目录:

mkdir -p /opt/deepseek
cd /opt/deepseek

新建 docker-compose.yml 文件:

nano docker-compose.yml

写入以下内容:

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    ports:
      - "11434:11434"
    volumes:
      - ./ollama:/root/.ollama

保存后启动:

docker compose up -d

查看容器运行状态:

docker ps

如果看到 ollama 容器处于 Up 状态,说明 Ollama 已经启动。

测试 Ollama 接口:

curl http://127.0.0.1:11434

如果返回类似:

Ollama is running

说明服务正常。


五、拉取 DeepSeek 模型

进入 Ollama 容器:

docker exec -it ollama bash

拉取 DeepSeek R1 模型,例如 7B 版本:

ollama pull deepseek-r1:7b

如果你的服务器配置较低,可以先尝试:

ollama pull deepseek-r1:1.5b

如果你的服务器配置较好,可以尝试:

ollama pull deepseek-r1:8b

模型下载完成后,可以直接测试:

ollama run deepseek-r1:7b

输入一段中文问题,例如:

请帮我写一段适合网站首页的SEO介绍文案。

如果模型能够正常回复,说明 DeepSeek 模型已经可以在服务器上运行。

退出容器:

exit

六、部署 Open WebUI 图形界面

只有 Ollama 服务时,使用起来主要依赖命令行或 API。对于站长来说,更友好的方式是部署一个 Web 管理界面。这里推荐使用 Open WebUI,它可以连接 Ollama,并提供类似 ChatGPT 的网页聊天界面。

修改 /opt/deepseek/docker-compose.yml

cd /opt/deepseek
nano docker-compose.yml

改成如下内容:

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    ports:
      - "11434:11434"
    volumes:
      - ./ollama:/root/.ollama

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: always
    depends_on:
      - ollama
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - ./open-webui:/app/backend/data

重启服务:

docker compose up -d

查看容器:

docker ps

如果 open-webuiollama 都正常运行,就可以在浏览器中访问:

http://你的服务器IP:3000

首次访问时,需要注册管理员账号。注册完成后,进入后台即可选择已下载的 DeepSeek 模型进行对话。


七、使用 Nginx 绑定域名访问

对于站长来说,直接用 IP:3000 访问并不美观,也不方便管理。建议使用 Nginx 反向代理,将服务绑定到一个二级域名,例如:

ai.example.com

1. 安装 Nginx

apt install -y nginx

启动并设置开机自启:

systemctl enable nginx
systemctl start nginx

2. 添加站点配置

新建配置文件:

nano /etc/nginx/conf.d/ai.example.com.conf

写入以下内容,注意替换为自己的域名:

server {
    listen 80;
    server_name ai.example.com;

    client_max_body_size 100M;

    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 X-Forwarded-Proto $scheme;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_read_timeout 3600;
        proxy_send_timeout 3600;
    }
}

检查 Nginx 配置:

nginx -t

重载 Nginx:

systemctl reload nginx

然后在域名 DNS 服务商处,将 ai.example.com 解析到你的服务器 IP。解析生效后,即可通过域名访问 Open WebUI。


八、配置 HTTPS 证书

如果 AI 服务需要长期使用,强烈建议配置 HTTPS。可以使用 Certbot 免费申请 Let’s Encrypt 证书。

安装 Certbot:

apt install -y certbot python3-certbot-nginx

申请证书:

certbot --nginx -d ai.example.com

根据提示输入邮箱、同意协议,并选择是否自动跳转 HTTPS。

申请完成后,访问:

https://ai.example.com

如果可以正常打开,说明 HTTPS 配置成功。

查看证书自动续期:

certbot renew --dry-run

九、安全设置建议

AI 服务部署完成后,站长一定要重视安全问题。很多人部署完直接公开到公网,导致被陌生人注册、滥用服务器资源,甚至造成服务器高负载。

1. 不要开放 Ollama 端口到公网

在上面的 Compose 配置中,Ollama 暴露了:

ports:
  - "11434:11434"

如果你的服务器防火墙允许公网访问 11434,就可能存在风险。更安全的写法是只监听本机:

ports:
  - "127.0.0.1:11434:11434"

不过由于 Open WebUI 和 Ollama 在同一个 Docker 网络中通信,其实也可以不对外映射 Ollama 端口。可以改为:

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    volumes:
      - ./ollama:/root/.ollama

这样 Ollama 只在 Docker 内部网络中被 Open WebUI 访问,更安全。

2. 限制 Open WebUI 注册

Open WebUI 首次注册的用户一般会成为管理员。部署后建议进入后台检查用户管理设置,关闭开放注册,避免陌生人创建账号。

如果是个人使用,可以只保留自己的管理员账号。

3. 使用强密码

管理员账号不要使用简单密码,例如:

admin123
123456
password

建议使用包含大小写字母、数字、符号的强密码。

4. 配置防火墙

如果使用 UFW,可以只开放 SSH、HTTP、HTTPS:

apt install -y ufw
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
ufw status

如果你的 SSH 端口不是 22,请根据实际情况修改,避免误操作导致无法登录服务器。

5. 增加访问认证

如果你不希望任何人都能打开 AI 页面,可以在 Nginx 层增加 Basic Auth,或者使用 Cloudflare Access、宝塔面板访问限制、IP 白名单等方式。


十、站长如何将 DeepSeek 接入网站

部署完成后,站长除了通过 Web 页面聊天,还可以通过接口把 DeepSeek 能力集成到网站后台。

Ollama 提供了 HTTP API,例如:

curl http://127.0.0.1:11434/api/generate -d '{
  "model": "deepseek-r1:7b",
  "prompt": "请生成一篇关于网站SEO优化的文章大纲。",
  "stream": false
}'

如果你使用 PHP,可以通过 curl 请求该接口;如果你使用 Node.js、Python、Java,也都可以调用 HTTP API。

常见应用场景包括:

  • 文章标题生成;
  • SEO 描述生成;
  • 关键词拓展;
  • 文章大纲生成;
  • 用户评论摘要;
  • 智能客服;
  • 商品描述优化;
  • 代码辅助分析;
  • 站内知识库问答。

不过需要注意,本地模型的输出速度和质量与模型大小、硬件配置密切相关。如果你要在正式网站中提供给大量用户使用,建议做好限流、缓存和队列机制。


十一、常见问题与解决方法

1. 模型下载很慢怎么办?

可以尝试更换网络环境,或先下载较小模型进行测试。模型文件通常较大,下载时间取决于服务器带宽。

2. 服务器内存不足怎么办?

可以选择更小的模型,例如:

ollama pull deepseek-r1:1.5b

同时关闭不必要的服务,避免内存被占满。

3. 回复速度很慢怎么办?

如果使用 CPU 推理,速度慢是正常现象。可以考虑:

  • 使用更小的模型;
  • 升级服务器 CPU;
  • 使用带 NVIDIA GPU 的服务器;
  • 减少上下文长度;
  • 降低并发请求。

4. Open WebUI 访问失败怎么办?

可以检查容器状态:

docker ps

查看日志:

docker logs open-webui
docker logs ollama

如果端口被占用,可以修改 Compose 中的端口映射,例如:

ports:
  - "3001:8080"

然后访问:

http://服务器IP:3001

5. Docker 服务如何更新?

进入部署目录:

cd /opt/deepseek

拉取最新镜像:

docker compose pull

重启服务:

docker compose up -d

清理无用镜像:

docker image prune -f

十二、推荐的最终 docker-compose.yml

如果你希望相对安全地部署,只开放 Open WebUI,不直接开放 Ollama,可以使用下面这个版本:

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    volumes:
      - ./ollama:/root/.ollama

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: always
    depends_on:
      - ollama
    ports:
      - "127.0.0.1:3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - ./open-webui:/app/backend/data

这种配置中:

  • Ollama 不直接暴露到公网;
  • Open WebUI 只监听本机 127.0.0.1:3000
  • 外部访问必须经过 Nginx;
  • 安全性比直接开放端口更好。

启动方式:

cd /opt/deepseek
docker compose up -d

然后通过 Nginx 反向代理访问即可。


十三、总结

对于站长来说,使用 Docker 部署 DeepSeek 并不复杂。比较推荐的方案是:

Docker + Ollama + DeepSeek R1 + Open WebUI + Nginx + HTTPS

这种组合具备以下优点:

  • 部署简单,适合快速上线;
  • 数据相对可控;
  • 有网页聊天界面,使用方便;
  • 可以通过 API 接入网站后台;
  • Docker 方式便于迁移、升级和维护;
  • 配合 Nginx 和 HTTPS 后更适合正式环境使用。

不过也要注意,本地部署大模型并不等于零成本。模型运行会消耗大量服务器资源,尤其是在多人同时使用时,对 CPU、内存和 GPU 都有较高要求。如果你只是轻量使用,或者主要用于网站内容生成、SEO 工具、后台辅助写作,也可以考虑直接调用 DeepSeek 官方 API,这样运维成本更低。

如果你是个人站长、博客站长、企业官网管理员,想要先体验 AI 能力,那么可以从 deepseek-r1:1.5bdeepseek-r1:7b 开始部署。等业务需求明确后,再根据访问量和效果升级模型、服务器和应用架构。

总的来说,DeepSeek Docker 部署为站长提供了一种低门槛接入 AI 的方式。只要做好安全配置、资源监控和访问限制,它不仅可以作为个人 AI 助手,也可以逐步扩展为网站内容生产、智能客服和知识库问答的重要基础设施。

目录结构
全文