本文记录一套可直接落地的 Next AI Draw.io + Ollama 本地完整部署方案,这些都运行在自己的Ubuntu26.04系统中。并解决 Docker 容器无法访问宿主机 Ollama、127.0.0.1:11434 端口拒绝、环境变量不生效、硬编码地址报错等所有经典问题,实现纯本地、无外网、私有化 AI 流程图 / 架构图自动生成等。
效果图:(本图使用Deepseek模型生成,要好看些的就得用GPT了)

我已全程踩坑、排错、优化,整理出全网最稳唯一可行方案:
解决市面上所有教程通病:
- host.docker.internal 不生效
- OLLAMA 环境变量被镜像硬编码覆盖
- Docker 容器无法访问宿主机 11434
- 反复报
connect ECONNREFUSED 127.0.0.1:11434
方案优势
- 完全离线、本地私有化
- 不用改系统网络、不用改防火墙复杂规则
- 兼容所有 Linux 发行版
- 彻底绕过镜像硬编码 bug
- 稳定常驻、重启不失效
确保程序能正常运行先把防火墙关闭,或才开放相应的端口。
sudo ufw disable
一、安装docker
由于是使用容器,如果你以前安装过社区版的docker.io,执行以下命令时会把社区版的卸载了,再安装这个官方版的。不过请放心,不会删除你的镜像的。
1. 清理旧源 & 安装依赖
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -rf /etc/apt/keyrings/docker*
sudo apt update
sudo apt install -y ca-certificates curl gnupg
2. 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
3. 添加 Docker APT 源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 安装 Docker + Compose 插件
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
5. 验证
docker compose version
# 输出类似:Docker Compose version v5.1.4
以后使用这两个命令:
docker compose up -d # 空格,不是横杠
docker compose down
二、安装部署ollama并配置docker-comp
1. 安装 Ollama 并全网监听
curl -fsSL https://ollama.com/install.sh | sh
配置 Ollama 允许 Docker 访问(关键)
把端口开放为所有,不再是使用127.0.0.1,不然容器无法访问到。
sudo systemctl edit ollama.service
写入:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
生效:
sudo systemctl daemon-reload
sudo systemctl restart ollama
拉取模型:
ollama pull llama3.1:8b
2. 终极稳定部署命令(解决所有 11434 报错)
经过多次测试发现,以下配置正常稳定跑起来。在你的 ~/Documents 新建一个文件,名字叫 docker-compose.yml,内容全部粘贴这个:
swper@Mt:~/Documents$ cat docker-compose.yml
services:
drawio-ai:
image: ghcr.io/dayuanjiang/next-ai-draw-io:latest
ports:
- "3001:3000"
environment:
- AI_PROVIDER=ollama
- AI_MODEL=llama3.1:8b
# 告诉应用去连接宿主机的 Ollama 服务
- OLLAMA_BASE_URL=http://host.docker.internal:11434/api
extra_hosts:
# 将 host.docker.internal 解析为宿主机的网关 IP
- "host.docker.internal:host-gateway"
restart: unless-stopped
3. 然后启动(一条命令)
docker compose up -d #就是在docker-compose.yml 文件目录下执行
AI 自动连接你的本地 llama3.1:8b
② 查看应用日志无报错
docker logs -f documents-drawio-ai-1 #这是启动时自动生成的一个容器名称
启动后的日志,一般是这样的,在调用API时观察是否有报错。按上面操作正常是没问题的。
swper@Mt:~/Documents$ docker logs -f documents-drawio-ai-1
▲ Next.js 16.2.6
- Local: http://localhost:3000
- Network: http://0.0.0.0:3000
✓ Ready in 0ms
[Langfuse] Environment variables not configured - telemetry disabled
代表部署成功
4. 访问地址
http://localhost:3001
输入:用流程图演示 RAG 的工作原理
即可本地 AI 自动生成专业流程图、架构图、拓扑图。
三、本文解决的所有报错汇总
Cannot connect to API: connect ECONNREFUSED 127.0.0.1:11434
意思是:容器里连不上宿主机的 Ollama(11434)。环境变量 OLLAMA_API_BASE_URL 不生效
原因有两个:
- Ollama 默认只监听 127.0.0.1,Docker 网段访问不了。
- 容器里的
127.0.0.1是容器自己,不是宿主机。使用上面配置:extra_hosts,加入后,就不会再出现这问题了。
- AI_MODEL environment variable is required
因为你少了这两行环境配置:
- AI_PROVIDER=ollama
- AI_MODEL=llama3.1:8b
- 孤儿容器、端口占用启动失败
因为关闭的容器卡死没有完全退出,或者不是使用docker compose down命令,这个命令会自动关闭退出容器,释放端口。如果不是请用kill命令结束进程。
- unexpected status 402 Payment Required: CC Switch local proxy failed while handling Codex endpoint /responses. Provider: DeepSeek; model: deepseek-v4-flash; upstream_status: HTTP 402; cause: Insufficient Balance, url: http://127.0.0.1:15721/v1/responses
这个错误非常明确,核心原因是:
你使用的 DeepSeek 模型(deepseek-v4-flash)账户余额不足(Insufficient Balance),导致代理 / 网关调用接口时返回了 402 Payment Required(支付所需)状态码。
运行Next AI Drawio后可以在右下方中添加不同的配置模型:

总结:
这套方案是目前 Next-AI-Drawio + Ollama 本地部署稳定可行方案,绕过所有官方镜像缺陷、硬编码问题、Docker 网络限制,实现纯本地离线 AI 绘图,适合个人开发、笔记绘图、架构设计、RAG 流程演示。由于我本机比较差劲,画个流程图都卡两三分钟,CPU爆500,而且效果真不好看。如果要好看,快速那还得是充钱。