当前位置: 首页 > news >正文

Ubuntu24.04安装Dify

1、win10上安装docker不顺利

参考:Dify的安装_dify安装-CSDN博客等资料,Dify依赖Docker运行,在Win10上安装Docker,先安装wsl。在PowerShell(管理员)中输入:

wsl --install

或显示“找不到指定文件”,或显示“操作超时”!

打开控制面板,在“程序”中“启用或关闭Windows功能”中,勾选“Hyper-V”、“适用于Linux的Windows子系统”和“虚拟平台”等:

点击确定,显示“系统找不到指定文件”。

于是,不折腾了,在Ubuntu上安装吧。

2、Ubuntu安装Docker

Ubuntu系统上安装Docker很简单,输入以下命令:

sudo apt update
sudo apt install docker.io

安装完成后,启动 Docker 服务:

sudo systemctl start docker
sudo systemctl enable docker

Docker其它命令:

sudo systemctl restart docker #重启docker
sudo systemctl stop docker #停止docker
sudo docker ps -a
docker logs #根据上面返回的容器id,查看日志

 配置Docker镜像源,编辑/etc/docker/daemon.json文件:

sudo gedit /etc/docker/daemon.json

 3、安装 Docker Compose

Dify 使用 Docker Compose 来管理容器,不过安装 Docker Compose时花了点时间,网上提供的有些命令是不行的,比如:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

安装很快完成,没有报错,但无法查询版本也无法运行。

又如:sudo apt install docker-compose

会成功安装,但版本是1.29.2,很多新功能用不了。

尝试过的正确安装命令是:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

等待一点时间,可以成功安装,如果不行,可以选择国内镜像源安装。

安装后,修改文件权限:

sudo chmod +x /usr/local/bin/docker-compose

查看版本:

$ docker-compose -v
Docker Compose version v2.36.1

4、安装Dify

在工作目录下克隆dify:

git clone https://github.com/langgenius/dify.git
# 可使用国内镜像地址: https://gitee.com/dify_ai/dify.git 避免超时

克隆成功后,进入 dify 目录后,你需要配置一些环境变量。首先,复制 .env.example 文件并重命名为 .env

cp .env.example .env

然后,根据需要编辑 .env 文件,例如设置数据库连接、Redis 等配置。先不修改,按默认配置。

5、启动Dify

使用 Docker Compose 启动 Dify:

sudo docker-compose up -d

若出现如下图之类的情况:

Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

返回第2步,配置Docker镜像源,然后停止并重启Docker:

sudo systemctl stop docker #停止docker
sudo systemctl restart docker #重启docker

等待启动全部完成:

直接浏览器搜索框输入:

http://localhost/install

打开就可以使用dify啦。

 

相关文章:

  • C++开发基础之理解std::condition_variable中的wait与wait_for的区别与使用场景
  • zipkin+micrometer实现链路追踪
  • 在QT中栅格布局里套非栅格布局的布局会出现父布局缩放子布局不跟随的问题
  • 图论学习笔记 3
  • C/C++ 整数类型的长度
  • 一道并发的面试题,控制并发数量
  • Baklib构建AI就绪型知识中台实践
  • Python中列表相关操作
  • PIL库的图像增强函数
  • Docker中部署Alertmanager
  • 从代码学习数学优化算法 - 拉格朗日松弛 Python版
  • 查看数据库占用磁盘空间的方法
  • JAVA面向对象——对象和类的基本语法
  • 第一章走进java世界
  • 数据库实验——备份与恢复
  • JavaScript 深拷贝:从基础到实践的全面指南
  • 2025年- H38-Lc146 --142.环形链表(快慢指针,快2慢1,快1慢1)--Java版
  • 前端流行框架Vue3教程:21. 插槽(3)
  • C语言| 指针变量的初始化
  • 如何测试北斗卫星通讯终端的性能?
  • 谷歌推出AI全家桶订阅计划:每月付费250美元,搜索引擎加入AI模式
  • 小满:一庭栀子香
  • 达恩当选罗马尼亚总统
  • 长三角议事厅·周报|新能源汽车产业需寻求“第二增长曲线”
  • 【社论】进一步拧紧过紧日子的制度螺栓
  • 墨海军训练舰在纽约撞桥,墨总统:对遇难者表示悲痛,将跟进调查