在WSL上部署Dify

安装准备

Dify安装部署依赖Docker和Docker Compose。安装Dify前需要先在WSL openEuler 24.03上安装好上述Docker软件。

配置Docker需要的内核参数,开启IP转发与桥接功能

1
2
3
4
5
6
7
8
# 配置内核参数
sudo tee /etc/sysctl.d/docker.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# 生效参数
sudo sysctl --system

安装Docker依赖的工具

1
2
3
4
5
6
# 安装 dnf 相关的工具包(openEuler 使用 dnf 作为包管理器)
sudo dnf install -y dnf-utils dnf-plugins-core
# 安装设备映射和 LVM2 工具
sudo dnf install -y device-mapper-persistent-data lvm2
# 安装其他可能需要的工具
sudo dnf install -y curl wget git vim

执行sysctl -a | grep ip_forward验证内核参数是否生效。如果有提示net.ipv4.ip_forward = 1则已经生效。

添加Docker源

由于docker源国内访问很慢,我们可以直接添加docker的国内镜像源。

1
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

使用如下命令修改源配置中的操作系统版本信息以适配openEuler 24.03

1
sudo sed -i 's/$releasever/8/g' /etc/yum.repos.d/docker-ce.repo

这个参数$releasever 在openEuler里面是24.03 LTS,因此执行安装命令过程中无法从docker源中找到软件,上述命令版本替换成8(对应CentOS 8版本)。

安装Docker软件

  1. 安装docker软件
1
sudo dnf install -y docker-ce docker-ce-cli containerd.io
  1. 验证安装结果
1
2
3
4
5
6
7
8
9
# 启动Docker服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证Docker服务状态
sudo systemctl status docker
# 将当前用户加入docker组(避免每次sudo)
sudo usermod -aG docker $USER
# 重新登录生效后验证Docker版本
docker --version

安装Docker Compose

  1. 下载并安装
1
2
3
4
5
6
7
8
# 下载Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 创建符号链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 验证安装
docker-compose --version

其中第一步也可以直接从https://github.com/docker/compose/releases下载最新的Linux x86_64版本的。

  1. 配置用户权限
1
2
3
4
5
6
7
# 避免频繁使用
sudo sudo groupadd docker
sudo usermod -aG docker $USER
# 重新登录生效
newgrp docker
# 验证非特权用户操作
docker ps

配置docker hub国内镜像

编辑/etc/docker/daemon.json,配置docker hub的镜像地址:

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.1ms.run",
"https://docker.m.daocloud.io"
]
}

注意:上述的镜像可能失效,需要查询最新可用的镜像。如果不配置国内镜像或者国内镜像不可用会导致后续安装Dify失败。保存后需要重启docker 服务 sudo systemctl restart docker

阅读更多