【(保姆级教程)Ubuntu24.10下部署Dify】

目录

    • 一、下载Ubuntu
    • 二、安装Ubuntu
    • [三、在 Ubuntu 上安装 Docker Engine](#三、在 Ubuntu 上安装 Docker Engine)
    • [四、在 Ubuntu 上安装 Docker Desktop](#四、在 Ubuntu 上安装 Docker Desktop)
    • [五、克隆 Dify 代码仓库](#五、克隆 Dify 代码仓库)
    • [六、启动 Dify](#六、启动 Dify)
    • 七、记录我在安装中遇到的问题
      • 1、dify代码执行中如何安装缺少的包
      • [2、dify报错:Failed to execute code, which is likely a network issue, please check if the sandbox service is running. ( Error: [Errno -3] Temporary failure in name resolution )](#2、dify报错:Failed to execute code, which is likely a network issue, please check if the sandbox service is running. ( Error: [Errno -3] Temporary failure in name resolution ))
      • [3、存储空间不足导致docker compose pull过程中镜像循环下载](#3、存储空间不足导致docker compose pull过程中镜像循环下载)

一、下载Ubuntu

Ubuntu 24.10 (Oracular Oriole)

desktop和live版的区别是desktop带图形化桌面,这里下载live版

二、安装Ubuntu

如果需要通过SecureFx等软件访问虚拟机,需要确保安装了 SSH 工具

复制代码
#安装 ssh
sudo apt install ssh
#安装 ssh 服务端
sudo apt install openssh-server
安装 ssh 客户端
sudo apt install openssh-client
编辑 sshd 配置
sudo vi /etc/ssh/sshd_config 

Port 22
PasswordAuthentication yes

:wq保存并退出

重新启动 ssh
sudo /etc/init.d/ssh restart
启动 SSH 服务
sudo  netstat -tlp
开启 SSH 服务
sudo systemctl start ssh
置系统启动时自动启动 ssh 服务
sudo systemctl enable ssh
查看ssh服务是否启动
sudo systemctl status ssh
本地进行测试
ssh localhost

三、在 Ubuntu 上安装 Docker Engine

官方教程:Ubuntu| Docker 插件 --- Ubuntu | Docker Docs

我选择的是使用 apt 存储库安装

1、设置Docker的apt仓库

复制代码
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

2、安装 Docker 包

console 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

四、在 Ubuntu 上安装 Docker Desktop

官方教程:Ubuntu | Docker Docs

1、先决条件

  • 满足 一般系统要求

  • 使用 Ubuntu 22.04、24.04 或最新的非 LTS 版本的 x86-64 系统。

  • 如果您没有使用 GNOME,则必须安装 gnome-terminal 以启用从 Docker Desktop 的终端访问:

    sudo apt install gnome-terminal

2、下载最新 DEB 包

https://desktop.docker.com/linux/main/amd64/docker-desktop-amd64.deb?utm_source=docker\&utm_medium=webreferral\&utm_campaign=docs-driven-download-linux-amd64\&_gl=1*1hi8hm2* _gaMTYzOTg5MTY3LjE3NDE2NTU2ODU._ga_XJWPQMJYHQ*MTc0NDc5MzEzMS4zLjEuMTc0NDc5MzkxNy42MC4wLjA.

3、安装软件包

复制代码
sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb

4、启动 Docker Desktop

复制代码
systemctl --user start docker-desktop
systemctl --user enable docker-desktop--开机启动

5、检查版本

复制代码
docker compose version
docker --version
docker version

五、克隆 Dify 代码仓库

安装 Dify 之前, 请确保你的机器已满足最低安装要求:

  • CPU >= 2 Core
  • RAM >= 4 GiB

访问:https://github.com/langgenius/dify.git,下载代码包

将zip文件上传到用户目录下

解压,重命名为dify

复制代码
unzip dify.zip

mv dify-main dify

六、启动 Dify

1、进入 Dify 源代码的 Docker 目录

复制代码
cd dify/docker

2、复制环境配置文件

复制代码
cp .env.example .env

3、启动/关闭 Docker 容器

复制代码
docker compose pull  # 先拉取所有镜像
docker compose up -d # 再启动容器

其他命令
docker compose down #关闭
docker compose ps #查看进程
docker compose stop sandbox #停止某个服务,例如sandbox 服务
docker compose restart sandboxre #启动某个服务,例如sandbox 服务

4、访问Dify

http://192.168.15.130/install

七、记录我在安装中遇到的问题

1、dify代码执行中如何安装缺少的包

复制代码
cd dify/docker/volumes/sandbox/dependencies/

sudo vi python-requirements.txt
增加你需要的包

重启sandbox 服务
docker compose stop sandbox 
docker compose start sandboxre 

2、dify报错:Failed to execute code, which is likely a network issue, please check if the sandbox service is running. ( Error: [Errno -3] Temporary failure in name resolution )

复制代码
查看日志
docker logs docker-sandbox-1 --tail 100

比如我遇到的问题是:Sandbox 尝试安装 pandasnumpy,但 pip install 过程因某种原因中断(exit status 1)。

复制代码
sudo vi python-requirements.txt
最直接的操作是删除`pandas` 和 `numpy`

然后重启sandbox 服务
docker compose stop sandbox 
docker compose start sandboxre 

3、存储空间不足导致docker compose pull过程中镜像循环下载

复制代码
df -h

free

查看到存储空间不足

1、停止虚拟机

2、扩容虚拟机(有快照的话需要删除,建议安装虚拟机时就分配大一点的空间,因为后续扩容还是比较麻烦的)


3、进行虚拟机内扩容

复制代码
1. **查看当前分区结构**
sudo lsblk
sudo parted /dev/sda print
2. **扩展物理分区(关键步骤)**
sudo growpart /dev/sda 3  # 扩展分区3(根据你的lsblk输出调整数字)
如果报错 `growpart: command not found`,先安装
sudo apt install cloud-guest-utils
3. **刷新物理卷(PV)**
sudo pvresize /dev/sda3
4. **验证卷组空间**
sudo vgdisplay
5. **扩展逻辑卷(LV)**
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
6. **最终验证**
df -h /
相关推荐
oMcLin27 分钟前
如何在Ubuntu 22.04 LTS上配置并优化MySQL 8.0分区表,提高大规模数据集查询的效率与性能?
android·mysql·ubuntu
朝阳5811 小时前
Ubuntu 22.04 安装 Fcitx5 中文输入法完整指南
linux·运维·ubuntu
永远在Debug的小殿下1 小时前
wsl安装Ubuntu and ROS2
linux·运维·ubuntu
Ephemeral Memories2 小时前
ubuntu安装软件失败以及运行闪退
linux·ubuntu
linweidong4 小时前
在Ubuntu新版本安装gcc4.8等老版本环境
linux·运维·ubuntu
知识分享小能手4 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中安装 Docker 容器 —— 知识点详解(26)
学习·ubuntu·docker
老前端的功夫5 小时前
TypeScript索引访问类型深度解析:类型系统的动态访问与模式匹配
前端·javascript·ubuntu·架构·typescript·前端框架
oMcLin5 小时前
如何在Ubuntu 20.04上配置并调优Kubernetes集群,确保在多租户环境下的高可用性与资源分配?
linux·ubuntu·kubernetes
爱吃大芒果5 小时前
openJiuwen(Windows端)大模型添加及AI Agent创建教程
人工智能·ubuntu·openjiuwen
云qq6 小时前
x86操作系统23——进程相关系统调用
linux·c语言·汇编·ubuntu