使用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

最后的效果:

相关推荐
风尘小子5 天前
node.js系列:process配置
前端·node.js
怕浪猫5 天前
ZCode 开源了来看看这是个什么东西
node.js·github·代码规范
flash俊杰5 天前
Electron 打包后窗口 30 秒不出现:一个 ABI 不匹配的血案
electron·node.js
Blockbuater_drug5 天前
写个 SKILL.md,还是配个 MCP server? Agent 能力扩展的两条路线——原理、操作、效果与四大架构配置选型
mcp server·agent skills·渐进式披露·skill.md·token 优化·dsh·功能选型
roamingcode5 天前
DeepSeek Harness 记忆召回插件的“PRD”设计拆解
agent·memory·deepseek·harness·dsh·dsh-plugin
@tangguo1235 天前
npm 和 yarn 配置说明
前端·javascript·npm·node.js·yarn
flash俊杰6 天前
一套代码接入所有大模型:OpenAI 兼容适配器设计
node.js·openai
右耳朵猫AI6 天前
Node.js周刊2026W38 | 进程中断缺陷修复、Copilot 迁至 Rust、Node 新增 VFS
javascript·后端·node.js
光影少年6 天前
Express 中间件原理
后端·node.js·express
时速GEO系统6 天前
初元 AI V1.1 版本升级,首个正式版发布一周・实现生成、部署、上线、优化全流程自动化闭环
人工智能·数据挖掘·node.js