docker 部【dify-api】/【dify-web】 20260514
1、docker run postgres
docker run -d --name postgres -e POSTGRES_USER=root -e POSTGRES_PASSWORD=root -e POSTGRES_DB=dify -p 5432:5432 -v /data/postgres:/var/lib/postgresql --restart=always postgres:latest
2、postgres redis



3、docker run dify-api

docker run -d --name dify-api --privileged=true -u root -e LC_ALL=C.UTF-8 -e LANG=C.UTF-8 -e DB_TYPE=postgresql -e DB_HOST=postgres -e DB_PORT=5432 -e DB_DATABASE=dify -e DB_USERNAME=root -e DB_PASSWORD=root -e REDIS_HOST=redis -e REDIS_PORT=6379 -e REDIS_PASSWORD=123456 -p 5001:5001 langgenius/dify-api:latest
3.1. Docker 基础运行参数
docker run创建并启动一个 Docker 容器-d后台运行容器(守护进程模式)--name dify-api给容器起名字:dify-api,方便管理--privileged=true给容器最高权限,解决部分系统权限限制-u root使用 root 用户运行,解决/home/dify权限拒绝问题-p 5001:5001端口映射:主机 5001 → 容器 5001外部访问:http://服务器IP:5001
3.2. 系统环境变量(消除警告)
-e LC_ALL=C.UTF-8设置系统字符集,消除locale警告-e LANG=C.UTF-8同上,彻底解决语言编码报错
3.3. 数据库连接参数(PostgreSQL)
-e DB_TYPE=postgresql指定数据库类型:PostgreSQL-e DB_HOST=postgres数据库地址(必须和你的 PostgreSQL 容器名一致)-e DB_PORT=5432PostgreSQL 默认端口-e DB_DATABASE=dify使用的数据库名:dify-e DB_USERNAME=root数据库用户名-e DB_PASSWORD=root数据库密码
3.4. Redis 连接参数
-e REDIS_HOST=redisRedis 地址(必须和 Redis 容器名一致)-e REDIS_PORT=6379Redis 默认端口-e REDIS_PASSWORD=123456Redis 密码
3.5. 镜像
langgenius/dify-api:latestDify 官方 API 服务镜像(最新版)
netstat -tulpn | grep 5001
# 或 ss -tulpn | grep 5001
curl -I http://localhost:5001
docker logs -f dify-api


4、宿主机ip
# 获取宿主机局域网 IP(替换 YOUR_HOST_IP)
HOST_IP=$(hostname -I | awk '{print $1}')

5、docker run dify-web
# 先定义变量再运行(仍为单命令形式)
HOST_IP="192.168.91.164" && \ docker run -d --name dify-web -e API_URL=http://${HOST_IP}:5001 -p 3000:3000 langgenius/dify-web:latest

# 检查容器环境变量
docker exec dify-web printenv | grep API_URL
# 预期输出:
API_URL=http://192.168.91.164:5001
# 测试前端能否访问后端
curl http://192.168.91.164:3000 # 应返回前端页面内容

6、
http://192.168.91.164:3000/apps


浙公网安备 33010602011771号