本文最后更新于 2026年5月11日。
官方教程
https://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/docker-compose
详细使用教程
https://blog.csdn.net/qq_43692950/article/details/131345124
先将仓库拉取到本地
E:\wsldocker>git clone https://github.com/langgenius/dify.git
Cloning into 'dify'...
fatal: unable to access 'https://github.com/langgenius/dify.git/': Failure when receiving data from the peer
E:\wsldocker>git clone git@github.com:langgenius/dify.git
Cloning into 'dify'...
Enter passphrase for key '/c/Users/weiyo/.ssh/github_ssh_private_230713_id_ed25519':
remote: Enumerating objects: 58477, done.
remote: Counting objects: 100% (13412/13412), done.
remote: Compressing objects: 100% (1168/1168), done.
remote: Total 58477 (delta 12708), reused 12370 (delta 12240), pack-reused 45065
Receiving objects: 100% (58477/58477), 32.68 MiB | 34.00 KiB/s, done.
Resolving deltas: 100% (42202/42202), done.
Updating files: 100% (4293/4293), done.
Start Dify
进入 dify 源代码的 docker 目录,执行一键启动命令:
cd dify/docker
docker compose up -d
运行日志
E:\wsldocker\dify\docker>docker compose up -d
time="2024-05-09T15:29:02+08:00" level=warning msg="E:\\wsldocker\\dify\\docker\\docker-compose.yaml: `version` is obsolete"
[+] Running 66/8
✔ nginx Pulled 157.6s
✔ api Pulled 306.4s
✔ web Pulled 50.8s
✔ worker Pulled 306.4s
✔ redis Pulled 182.9s
✔ sandbox Pulled 40.2s
✔ db Pulled 120.5s
✔ weaviate Pulled 188.9s
[+] Running 9/9
✔ Network docker_default Created 0.1s
✔ Container docker-sandbox-1 Started 21.3s
✔ Container docker-web-1 Started 21.3s
✔ Container docker-weaviate-1 Started 21.3s
✔ Container docker-db-1 Started 21.3s
✔ Container docker-redis-1 Started 21.3s
✔ Container docker-worker-1 Started 0.4s
✔ Container docker-api-1 Started 0.4s
✔ Container docker-nginx-1 Started 0.6s
E:\wsldocker\dify\docker>docker compose ps
time="2024-05-09T15:35:22+08:00" level=warning msg="E:\\wsldocker\\dify\\docker\\docker-compose.yaml: `version` is obsolete"
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-api-1 langgenius/dify-api:0.6.7 "/bin/bash /entrypoi…" api 52 seconds ago Up 3 seconds 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db About a minute ago Up 50 seconds (healthy) 5432/tcp
docker-nginx-1 nginx:latest "/docker-entrypoint.…" nginx 51 seconds ago Up 45 seconds 0.0.0.0:80->80/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis About a minute ago Up 49 seconds (healthy) 6379/tcp
docker-sandbox-1 langgenius/dify-sandbox:0.1.0 "/main" sandbox About a minute ago Up 50 seconds
docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate About a minute ago Up 48 seconds
docker-web-1 langgenius/dify-web:0.6.7 "/bin/sh ./entrypoin…" web About a minute ago Up 48 seconds 3000/tcp
docker-worker-1 langgenius/dify-api:0.6.7 "/bin/bash /entrypoi…" worker 52 seconds ago Up 46 seconds 5001/tcp
访问locakhost就能看到dify的界面了。
本地大模型的api地址设置
设置使用本地大模型ollama,api地址填物理机的局域网地址加端口号,例如我的是下面的地址,不能使用http://127.0.0.1:11434/.
http://192.168.2.38:11434/
当时open web ui使用的是下面的形式。
http://host.docker.internal:11434