Deepseek Harness镜像离线部署

1. 前言

本文记录通过容器镜像方式,本地部署 Deepseek Harness(DSH)的完整流程。作者已将 DSH 运行所需的全部环境打包成镜像,省去了部署时构建环境的繁琐准备,只需下载、导入并运行容器,即可快速完成本地部署。

2. 前提条件

部署前请确认本机环境满足以下要求:

  • Docker 20.10+ 以上版本
  • 已安装 Docker Compose(可选,本文使用 docker run 直接部署)
  • 磁盘剩余空间建议 10GB 以上(镜像解压后占用较大)

检查 Docker 版本:

bash 复制代码
docker --version

3. 下载镜像包

镜像包已上传至网盘,下载后得到一个 dsh-latest.tar 文件:

下载完成后,确认文件完整性:

bash 复制代码
ls -lh dsh-latest.tar

4. 导入镜像

使用 docker load 命令将镜像包导入本地 Docker:

bash 复制代码
docker load -i dsh-latest.tar

导入完成后,验证镜像是否成功加载:

bash 复制代码
docker images | grep dsh

5. 创建工作目录

创建容器挂载的工作目录,用于存放项目代码和文件(以当前用户目录为例):

bash 复制代码
mkdir -p /home/liuwenlin/workspace

提示:目录路径可根据实际需求调整,后续 docker run 中的挂载参数需同步修改。

6. 运行容器

使用以下命令创建并启动 DSH 容器:

bash 复制代码
docker run -d --name dsh \
  --restart unless-stopped \
  -p 0.0.0.0:3080:3080 \
  -v dsh-data:/home/dsh/.dsh \
  -v /home/liuwenlin/workspace:/workspace \
  -e DSH_HOME=/home/dsh/.dsh \
  -e DSH_TRUST_ALL=1 \
  registry.cn-hangzhou.aliyuncs.com/skymirror/dsh:latest --no-open

参数说明:

参数 说明
-d 后台运行容器
--name dsh 指定容器名称
--restart unless-stopped 容器异常退出时自动重启
-p 0.0.0.0:3080:3080 映射 3080 端口到宿主机
-v dsh-data:/home/dsh/.dsh 持久化 DSH 配置数据
-v /home/liuwenlin/workspace:/workspace 挂载工作目录
-e DSH_HOME=/home/dsh/.dsh 指定 DSH 数据目录
-e DSH_TRUST_ALL=1 信任所有来源
--no-open 启动时不自动打开浏览器

7. 获取访问 Token

容器启动后,查看日志获取访问 Token:

bash 复制代码
docker logs dsh

在日志输出中找到 Token 字段,复制其值。然后在浏览器中访问:

复制代码
http://127.0.0.1:3080/?token=DWX5wExFcMYzh7Aj9BkvV8rNc6dRLvF1UPImDL3iotY

将 URL 中的 Token 替换为你日志中实际输出的值。

8. 常见问题排查

容器启动失败

bash 复制代码
docker logs dsh

查看错误日志,常见原因包括端口被占用、镜像未正确导入等。

端口被占用

bash 复制代码
docker ps -a | grep 3080

若端口被占用,可修改 -p 参数映射到其他端口,如 -p 3081:3080

Token 无法访问

确认浏览器访问的 Token 与日志输出一致,且容器处于运行状态:

bash 复制代码
docker ps | grep dsh

9. 为什么要使用 Token 访问?

这属于该类工具的默认安全机制(Secure by Default),主要基于以下两点考虑:

必须显式鉴权:作为能执行系统命令的开发环境,官方刻意不开放"无密码直接裸连",防止内网暴露引发安全事故。任何访问者都必须持有有效 Token 才能进入环境,避免未授权用户直接操作容器。

物理隔离验证:官方故意只把 Token 打印在后台终端日志里,以此保证只有拥有服务器底层操作权限的管理员,才能拿到密钥授权访问。这种方式将"能访问环境"与"能查看服务器日志"绑定,形成一道天然的权限隔离层。

相关推荐
一技安身1 小时前
【信创】Ollama 手动提取 deepseek-r1:1.5b模型迁移到内网机器
服务器·docker·语言模型
菩提小狗1 小时前
每日极客日报 · 2026年09月12日
ai·开源·极客日报·it热点·技术资讯
程序员老赵2 小时前
Docker 部署觅思文档:搭建私有化文档管理系统
docker·开源·笔记测评
VIP_CQCRE2 小时前
Ace Data Cloud MCP:把整个平台能力接入你的 AI 助手
ai·api·开发工具·mcp·acedatacloud
长谷深风1112 小时前
Agent执行系统中的身份与版本设计
java·大数据·人工智能·ai·大模型·task·aiagent
艺杯羹3 小时前
AI编程时代软件工程怎么学:从底层思维认知到驱动智能体的架构跃迁
java·人工智能·ai·架构·软件工程·ai编程
CoderJia程序员甲3 小时前
GitHub 热榜项目 - 周榜(2026-09-12)
ai·大模型·llm·github·agent
SamChan903 小时前
Python批量处理PDF踩坑实录:中文编码、字体内嵌、多栏排版与内存占用
python·单片机·ai·pdf·机器翻译
一航jason3 小时前
大模型“上车“评估参数列表
人工智能·ai·aigc·ai编程·ai-native