当前位置:首页>Linux>Rocky Linux 9.7 Docker 部署 Ollama + Dify

Rocky Linux 9.7 Docker 部署 Ollama + Dify

  • 2026-10-11 08:44:46
Rocky Linux 9.7 Docker 部署 Ollama + Dify

第一部分:安装 Docker

# 1. 更新系统

sudo dnf update -y

# 2. 安装必要工具

sudo dnf install-y dnf-plugins-core gitcurlvim

# 3. 添加阿里云 Docker 源

sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 4. 替换为阿里云地址

sudosed-i's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# 5. 安装 Docker

sudo dnf install-y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. 配置镜像加速

sudomkdir-p /etc/docker

sudotee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://docker.1ms.run"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m",

"max-file": "3"

}

}

EOF

# 7. 启动 Docker

sudo systemctl daemon-reload

sudo systemctl start docker

sudo systemctl enabledocker

# 8. 验证安装

docker--version

docker compose version

第二部分:部署 Ollama

# 1. 创建模型存放目录

sudomkdir-p /data/ollama

# 2. 下载 Ollama 镜像

docker pull ollama/ollama:latest

# 3. 启动 Ollama 容器

docker run -d\

--name ollama \

--restart always \

-v /data/ollama:/root/.ollama \

-p11434:11434 \

ollama/ollama

# 4. 验证 Ollama

curl http://localhost:11434/api/version

# 5. 下载中文模型(约 4GB,耐心等待)

dockerexec-it ollama ollama pull qwen2:7b

# 6. 测试模型(输入 /bye 退出)

dockerexec-it ollama ollama run qwen2:7b

第三部分:部署 Dify

步骤 1:下载 Dify 代码

cd /opt

# 方式1:GitHub 镜像(推荐,无需登录)

git clone https://ghproxy.net/https://github.com/langgenius/dify.git

# 如果失败,用方式2:直接 GitHub

# git clone https://github.com/langgenius/dify.git

# 如果还失败,用方式3:压缩包

# curl -L https://github.com/langgenius/dify/archive/refs/tags/1.13.3.tar.gz -o dify.tar.gz

# tar -zxvf dify.tar.gz

# mv dify-1.13.3 dify

# 验证下载成功

ls-la /opt/dify |head-5

# 进入 docker 配置目录

cd /opt/dify/docker

# 复制环境变量模板

cp .env.example .env

步骤 2:配置环境变量

请勿使用cp .env.example .env,必须使用下面提供的cat
> .env
命令,否则数据库连接会失败。

cat> .env <<'EOF'

# 数据库配置

DB_HOST=db_postgres

DB_PORT=5432

DB_USER=dify

DB_PASSWORD=Dify@2026

DB_NAME=dify

# Redis 配置

REDIS_HOST=redis

REDIS_PORT=6379

REDIS_PASSWORD=

REDIS_DB=0

# Ollama 配置(重要:Linux 必须用 172.17.0.1)

OLLAMA_API_BASE_URL=http://172.17.0.1:11434

OLLAMA_MODEL=qwen2:7b

# 管理员密码

CONSOLE_PASSWORD=Admin@2026

# 关闭证书警告

CERTBOT_EMAIL=

CERTBOT_DOMAIN=

EOF

步骤 3:创建 sandbox 配置文件(关键步骤)

# 创建配置目录(使用原文件自带的 volumes 路径)

mkdir-p /opt/dify/docker/volumes/sandbox/conf

# 写入配置文件

sudotee /opt/dify/docker/volumes/sandbox/conf/config.yaml <<'EOF'

app:

port: 8194

debug: false

python:

path: /usr/local/bin/python3

threads: 4

nodejs:

path: /usr/local/bin/node

threads: 4

EOF

# 验证文件已创建

ls-la /opt/dify/docker/volumes/sandbox/conf/

cat /opt/dify/docker/volumes/sandbox/conf/config.yaml

步骤 4:拉取依赖镜像

docker pull langgenius/dify-api:1.13.3

docker pull langgenius/dify-web:1.13.3

docker pull langgenius/dify-sandbox:0.2.14

docker pull langgenius/dify-plugin-daemon:0.5.3-local

docker pull redis:6-alpine

docker pull nginx:latest

docker pull ubuntu/squid:latest

docker pull busybox:latest

docker pull postgres:15-alpine

步骤 5:禁用 plugin-daemon(可选)

如果启动后网页一直转圈,再执行这一步。不影响聊天和知识库功能。

# 备份原文件

cp docker-compose.yaml docker-compose.yaml.bak

# 删除 plugin_daemon 服务

sed-i'/plugin_daemon:/,/^[a-z]/d' docker-compose.yaml

步骤 6:启动 Dify

# 启动所有容器

docker compose up –d

# 等待容器启动

sleep15

# 查看容器状态(所有应该是 Up)

docker compose ps

步骤 7:执行数据库迁移

# 进入 api 容器执行迁移

dockerexec-it docker-api-1 flask db upgrade

# 重启 worker 容器

docker compose restart worker worker_beat

第四部分:配置防火墙

# 开放 80 端口(Dify 网页)

sudo firewall-cmd --permanent --add-port=80/tcp

# 开放 11434 端口(Ollama API,可选)

sudo firewall-cmd --permanent --add-port=11434/tcp

# 重载防火墙

sudo firewall-cmd --reload

# 查看已开放端口

sudo firewall-cmd --list-ports

第五部分:修复网络访问(重要!)

Rocky Linux 默认 iptables FORWARD 策略为 DROP,会导致外部无法访问。必须执行以下命令:

# 修改 FORWARD 策略为 ACCEPT

sudo iptables -P FORWARD ACCEPT

# 保存规则(永久生效)

sudo iptables-save |sudotee /etc/sysconfig/iptables

# 验证

sudo iptables -L FORWARD -n|head-1

# 应该显示:Chain FORWARD (policy ACCEPT)

第六部分:验证部署

# 1. 查看容器状态(全部应为 Up)

docker compose ps

# 2. 测试 sandbox

curl http://localhost:8194/health

# 应返回 {"code":0,"message":"ok"}

# 3. 测试 Ollama

curl http://localhost:11434/api/version

# 4. 测试网页

curl-I http://localhost

# 应返回 HTTP/1.1 307 Temporary Redirect

第七部分:访问 Dify

打开浏览器,输入:http://你的服务器IP

例如:http://192.168.1.100

登录信息:

·邮箱:admin@dify.ai

·用户名:admin或你喜欢的

·密码:Admin@2026

设置完成后

1.登录 Dify

2.配置 Ollama 模型:

o点击右上角头像 → 设置

o选择模型供应商 → Ollama

o点击添加模型

o模型类型:必须选择LLM

o模型名称:qwen2:7b

o基础 URL:http://172.17.0.1:11434

3.创建应用:

o回到主页点击创建应用

o选择Chatflow(对话型应用)

o在提示词中输入你的需求

o选择 Ollama qwen2:7b作为模型

o点击发布后者直接预览后在聊天框问答即可

最新文章

随机文章