使用docker安装node.js和deepseek harness

最新的deepseek harness出来了,这个工具非常强大,看起来是一个类似官方网页版的聊天工具,其实他的插件功能能访问本地和网络io,可以实现主流ai编程工具、龙虾的功能。

但是我不想在本地装node.js,太多烂七八糟的软件了,使用docker来搞个虚拟机安装node.js。基本上就是下载docker,安装node.js,安装deepseek harness。

docker里面的镜像和容器,跟git差不多,镜像就是服务器的仓库,容器就是本地的备份,平时都是在容器里面搞,确认了就保存到镜像里面去。容器可以随时删除,再从镜像拉就行了。

1 下载安装docker windows版本和安装node.js

1.1 首次启动会报错Virtualization support not detected,运行如下命令启用虚拟机平台然后重启电脑:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

1.2 重启后如果提示虚拟机wsl失败running wslexec: An error occurred while running the command,安装虚拟机:

wsl --install --no-distribution

1.3 拉取镜像:

docker pull node:24-alpine

如果失败配置docker设置中docker engine的镜像地址:

"registry-mirrors": [

"https://docker.m.daocloud.io"

]

1.4 启动后验证node.js:

docker run -it --rm --entrypoint sh node:24-alpine

node -v

npm -v

2 进入docker中,启动node.js容器的shell,名字为:dsh-builder,后续需要保存镜像

docker run -it --name dsh-builder -p 3080:3080 --entrypoint sh node:24-alpine

#docker run -it --rm -p 3080:3080 --entrypoint sh node:24-alpine 一次性运行的命令

3 安装依赖,需要编译dsh

apk add --no-cache python3 py3-pip make g++ git

4 全局安装dsh,不用每次都安装一次

npm install -g @deepseek-ai/dsh

5 不要退出当前docker shell,另开一个cmd窗口,运行如下命令保存镜像为 my-dsh:latest :

docker commit dsh-builder my-dsh:latest

6 使用保存的镜像开启dsh服务,可以正常的镜像内部运行:

docker run -it --rm -p 3080:3080 -e DEEPSEEK_API_KEY="你的API密钥" --entrypoint node my-dsh:latest --expose-internals /usr/local/bin/dsh web

7 win10中打开浏览器http://127.0.0.1:3080 没有显示dsh服务,是因为dsh只连接了内部的127.0.0.1,外部ip地址禁止接入了,修改dsh代码删掉限制:

sed -i 's/if (options.host === "0.0.0.0") program.error(\^;*;/\/\/ &/' /usr/local/lib/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-web-app/lib/startup.js

改完了记得另开一个cmd终端保存容器:

docker commit -m "allow host 0.0.0.0" dsh-modified my-dsh:latest

8 现在在win10系统中打开:http://127.0.0.1:3080,可以看到dsh的页面了,可以正常使用了。

9 后续再使用的时候:

从镜像my-dsh:latest,新建并运行容器名为dsh-modified:

docker run -it --name dsh-modified -p 3080:3080 --entrypoint sh my-dsh:latest

运行dsh:

node --expose-internals /usr/local/bin/dsh web --host 0.0.0.0 &

新开cmd窗口保存容器(会生成当时容器的快照,下次打开容器会进入当前的快照):

docker commit dsh-modified my-dsh:latest

下次再进入同一容器并保存操作:

docker exec -it dsh-modified sh

docker commit dsh-modified my-dsh:latest

一次性打开容器不保存:

docker run -it --rm -p 3080:3080 --entrypoint node my-dsh:latest --expose-internals /usr/local/bin/dsh web --host 0.0.0.0

开启容器

docker start dsh-modified

停止容器

docker stop dsh-modified

10 其他命令:

列举所有容器

docker ps -a

列举所有镜像

docker images

删除容器

docker rm -f dsh-modified

最后的效果:

相关推荐
缘友一世2 小时前
DeepSeek Harness(dsh)从零到全栈【3】核心概念地图:一篇讲透DSH全部术语
dsh
百万运营Pro7 小时前
用 Astro + Supabase 从零构建全网盘聚合搜索引擎:PGroonga 中文检索实战
搜索引擎·前端框架·node.js·个人开发·学习方法·ai编程·资源分享
风fffff19 小时前
dsh-project-memory v0.3.0到v0.4.0:从项目记忆到开发工作流记忆的演进
ai·agent·插件·dsh·deepseek harness
小婉1 天前
我用 Next.js + React Flow 从零搭建了一个可视化 AI 工作流编排平台
前端·人工智能·node.js
缘友一世1 天前
DeepSeek Harness(dsh)从零到全栈【1】认识 DeepSeek Harness:Agent、Harness 与“一切皆插件“
dsh·deepseek agent
抓不住时间的沙1 天前
N1搭建守护环境以及重装 Armbian 后完整恢复整套守护环境,清理日志步骤
node.js
meilindehuzi_a1 天前
从域名到数据库:React + Node.js 项目部署全流程与用户访问链路
数据库·react.js·node.js
李游Leo1 天前
Node.js 开发环境安装与 npm/pnpm 国内镜像配置(Windows / macOS / Linux)
npm·node.js·pnpm·前端开发·开发环境
张忠琳2 天前
【deepseek-harness】Cordis 开源项目深度介绍
ai·agent·deepseek·harness·cordis·dsh
程序员三明治2 天前
【体验毛坯房】Deep Harness 入门教程
java·人工智能·后端·大模型·llm·deepseek·dsh