【(保姆级教程)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 /
相关推荐
该死的碳酸饮料呀4 小时前
PLOG安装
linux·ubuntu
徐凤年_5 小时前
Ubuntu20.04下GraspNet复现流程中的问题
linux·python·ubuntu·ai
Stuomasi_xiaoxin5 小时前
如何Ubuntu 22.04.5 LTS 64 位 操作系统部署运行SLAM3! 详细流程
linux·运维·ubuntu·ros·slam3
肖祥6 小时前
MCP协议Streamable HTTP
dify
道长没有道观7 小时前
ubuntu系统下部署使用git教程
git·ubuntu·elasticsearch
人猿泰飞8 小时前
【AI训练环境搭建】在Windows11上搭建WSL2+Ubuntu22.04+Tensorflow+GPU机器学习训练环境
windows·ubuntu·机器学习·wsl·gpu训练
徐凤年_9 小时前
配置Intel Realsense D405驱动与ROS包
数码相机·ubuntu
行走的bug...17 小时前
与Ubuntu相关命令
linux·运维·ubuntu
一眼青苔1 天前
局域网内,将linux(Ubuntu)的硬盘映射成Windows上,像本地磁盘一样使用
linux·windows·ubuntu