docker + dify + ollma 安装与配置

Docker安装

安装时,勾选Use WSL 2 instead of Hyper-V及Add shortkcut to deskktop

关闭 Docker Desktop。

下载当前 Docker Desktop 版本对应的 app-*.zip 汉化包并解压。

备份原文件,方便回滚:

Windows: C:\Program Files\Docker\Docker\frontend\resources\app.asar

Windows: C:\Program Files\Docker\Docker\frontend\resources\app.asar.unpacked

Windows: C:\Program Files\Docker\Docker\frontend\Docker Desktop.exe


未检测到虚拟化支持

第一步:检查 BIOS 虚拟化是否开启 这是最基础的一步。

打开 任务管理器 (Ctrl + Shift + Esc) -> 性能 -> CPU。

查看右下角的 “虚拟化”:

如果显示 “已禁用”:必须重启电脑进入 BIOS 开启(Intel VT-x 或 AMD-V)。

如果显示 “已启用”:说明 BIOS 没问题,继续往下看(我就是这种情况)。


第二步:检查 Windows 功能是否配置

搜索并打开 “启用或关闭 Windows 功能”。

确保以下三项均已勾选:

Hyper-V(及子项)

Windows 虚拟机监控程序平台 (Virtual Machine Platform)

适用于 Linux 的 Windows 子系统 ( Windows Subsystem for Linux)

1. 选用国内镜像地址

Docker 引擎

{"builder":{"gc":{"defaultKeepStorage":"20GB","enabled":true}},"experimental":false,"registry-mirrors":["https://docker.xuanyuan.me"]}

2. 修改下载镜像的存储位置

设置 -> 资源 -> 磁盘镜像位置


Docker常用指令

重启docker:

docker compose down && docker compose up -d

ping测试 docker run
--rm busybox ping 192.168.0.125 -c 4 docker run --rm curlimages/curl curl -v -m 5 http://192.168.0.125:8881/api/test

内部访问:host.docker.internal

Dify安装

git clone https://github.com/langgenius/dify.git 
cd dify/docker 
cp .env.example .env
docker compose up -d

(可选)修改端口配置 
.env文件
EXPOSE_NGINX_PORT=8080
EXPOSE_NGINX_SSL_PORT=8443
例如改为 8080,则后续通过 http://localhost:8080 访问 Dify
dify工作流中出现“同步数据中,只要几秒钟”

尝试以下方法后生效:
打开dify/docker/.env
1. 设置 ENABLE_COLLABORATION_MODE=false
2. NEXT_PUBLIC_SOCKET_URL=wss://<ip>:<端口号>
重启docker:
docker compose down
docker compose up -d 

dify访问http时提示:Access to 'http://localhost:8881/api/test' was blocked by SSRF protection. The URL may point to a private or local network address. 
规则限定: 
1. 80或443直接通信,端口要在 1025-65535 可放行,如36000
2. Dify HTTP 节点 ≠ 普通请求,默认走 Squid,Squid 默认禁止内网,必须手动放行(http://192.168.0.125:36000/api/test http://host.docker.internal:36000/api/test)

修改配置文件 /docker/ssrf_proxy/squid.conf.template
完整如下:
include /etc/squid/dify_common.conf

acl allowed_domains dstdomain .marketplace.dify.ai

# ----- 新增自定义 ACL -----
acl my_internal_ip dst 192.168.0.125
acl Safe_ports port 81   # 将81加入安全端口列表(如果已有类似定义,请合并)
# --------------------------

http_port ${HTTP_PORT}

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
include /etc/squid/dify_sandbox_proxy.conf
include /etc/squid/dify_allow_private.conf

# ===== 新增允许规则(放在 deny to_private_networks 之前) =====
http_access allow my_internal_ip

# ===== 原有的拒绝规则 =====
http_access deny to_private_networks
http_access allow allowed_domains
http_access allow client_localnet
http_access allow localhost
http_access deny all

重启 SSRF 代理容器
D:\dify\dify-1.16.1\docker>docker ps -a | findstr ssrf
7734ac7d7584   ubuntu/squid:latest                          "sh -c 'cp /docker-e鈥?    10 minutes ago   Up 10 minutes               3128/tcp                                                                       docker-ssrf_proxy-1
FINDSTR: 写入错误
docker restart docker-ssrf_proxy-1
或
重启整个 Dify
docker compose down && docker compose up -d
 

Ollam安装

更改安装位置 OllamaSetup.exe /DIR="d:\ollama"

增加环境变量 Path d:\ollama

增加环境变量 OLLAMA_MODELS d:\ollama\models

下载完成后测试 cmd -> Ollama

下载模型 https://ollama.com/search 
ollama run pppurpg/qwen34b

查看下载的模型
Ollama list

运行模型
Ollama run deepseek-r1:7b

 

posted @ 2026-08-15 15:00  CHHC  阅读(13)  评论(0)    收藏  举报