> 技术文档 > Ubuntu22.04 上 docker compose 部署 dify_dify docker compose

Ubuntu22.04 上 docker compose 部署 dify_dify docker compose


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、前提条件
  • 二、环境准备
    • 1.更新系统软件包列表并升级系统
    • 2.安装git
    • 3. 安装docker
    • 4.安装Docker Compose
    • 三、克隆dify代码仓库
      • 1. 使用 Git 克隆
      • 2. 使用压缩包上传
    • 四、配置环境变量
    • 五、配置多个镜像源
      • 1.编辑Docker配置文件
      • 2.重载配置并重启Docker
      • 3. 验证加速器是否生效
    • 六、启动 Docker Compose 部署 Dify
    • 七、检查和验证部署状态
      • 1. 查看容器状态
      • 2.查看容器日志(如需排查问题)
      • 3.测试内部访问
    • 八、配置防火墙和云安全组
    • 九、访问dify
      • 1.通过 Nginx 反向代理访问
      • 2.管理员初始化页面
      • 3.Dify 主页面
    • 十、常见问题与排查建议
      • 1.容器未启动/异常
      • 2.网络访问问题
      • 3.Docker 镜像拉取速度慢/失败
      • 4.环境变量配置问题

一、前提条件

  • CPU:至少 2 个核心
  • 内存:至少 4GB

二、环境准备

1.更新系统软件包列表并升级系统

确保系统所有软件都是最新版本,执行以下命令

 sudo apt update sudo apt upgrade -y

说明: 这一步操作更新本地软件包列表并安装所有可用的安全更新,确保系统稳定和安全。

2.安装git

使用Git拉取代码仓库

 sudo apt install git -y

说明:Git是必备工具,用于从GitHub上克隆Dify源码

3. 安装docker

1.更新软件包列表

 sudo apt update
  1. 安装Docker(docker.io包)
 sudo apt install docker.io

3.验证Docker安装

 docker-version

4.启动并设置Docker开机自启:

sudo systemctl start dockersudo systemctl enable docker

4.安装Docker Compose

可以通过apt安装Docker Compose

 sudo apt install docker-compose

验证安装

 docker-compose --version

说明:Ubuntu官方源安装的Docker Compose版本可能较旧,如果需要最新版本,可以参考Docker Compose官方文档下载独立二进制文件。另外,新版本Docker也提供了Compose V2插件,使用命令格式为docker compose(中间带空格),请根据实际情况选择使用哪个版本。

三、克隆dify代码仓库

有两种方式获取Dify源码

1. 使用 Git 克隆

在终端执行以下命令,将 Dify 源码克隆至你希望存放的位置(建议放在 /opt 目录下):

sudo mkdir -p /opt/difysudo chown $USER:$USER /opt/difycd /opt/difygit clone --branch 1.2.0 https://github.com/langgenius/dify.git

2. 使用压缩包上传

  • 在本地访问 Dify GitHub 并下载源码压缩包;

  • 将压缩包上传到服务器(例如使用 SCP 或 SFTP 工具);

  • 解压到 /opt/dify:

 sudo mkdir -p /opt/dify sudo tar -zxvf dify-xxx.tar.gz -C /opt/dify

根据压缩包实际名称调整命令。

四、配置环境变量

进入 Dify 代码仓库目录后,复制示例环境变量文件:

cd /opt/dify/difycp .env.example .env

编辑 .env 文件,根据你的部署需求调整以下关键变量:

  • DB_USERNAME、DB_PASSWORD、DB_HOST、DB_DATABASE:数据库相关配置

  • REDIS_PASSWORD:Redis 的访问密码

  • DIFY_PORT:API 服务绑定的端口(默认为 5001)

  • 其他你需要修改的变量(例如 OPENAI_API_BASE、LOG_LEVEL 等)

五、配置多个镜像源

1.编辑Docker配置文件

sudo nano /etc/docker/daemon.json加入如下内容{\"registry-mirrors\": [\"https://docker.1panel.live\",\"https://docker.nju.edu.cn\",\"https://docker.m.daocloud.io\",\"https://dockerproxy.com\",\"https://hub-mirror.c.163.com\",\"https://docker.mirrors.ustc.edu.cn\",\"https://registry.docker-cn.com\",\"https://registry.cn-hangzhou.aliyuncs.com\"]}保存并退出(在nano中按Ctrl+O 保存,Ctrl+X退出)

2.重载配置并重启Docker

 sudo systemctl daemon-reload sudo systemctl restart docker

3. 验证加速器是否生效

 docker info

在输出中确保“Registry Mirrors” 列表中显示了上述地址。
Ubuntu22.04 上 docker compose 部署 dify_dify docker compose

六、启动 Docker Compose 部署 Dify

在 Dify 代码仓库根目录下(含 docker-compose.yaml 文件)执行

  • 如果使用 Docker Compose V2 插件(推荐)
 docker compose up -d
  • 如果使用老版本 Docker Compose
 docker-compose up -d 

说明:命令执行后,系统将依照 docker-compose.yaml 文件启动所有容器(包括 API、worker、web、db、redis、nginx、ssrf_proxy、sandbox 等)。
运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

Ubuntu22.04 上 docker compose 部署 dify_dify docker compose

七、检查和验证部署状态

1. 查看容器状态

 docker compose ps

你应该能够看到类似以下的输出(部分):

  • api、worker、web:业务核心服务
  • db(Postgres)、redis:基础组件
  • nginx:反向代理
  • 其他组件如 ssrf_proxy、sandbox 等均显示状态为“Up”(健康状态)

Ubuntu22.04 上 docker compose 部署 dify_dify docker compose

2.查看容器日志(如需排查问题)

 docker compose logs -f

或针对特定服务查看日志

 docker compose logs -f nginx

3.测试内部访问

在服务器本机上执行:

 curl -I http://127.0.0.1

如果返回 HTTP 状态码(例如 200、301、307 等),说明 Nginx 和后端服务正常工作。
Ubuntu22.04 上 docker compose 部署 dify_dify docker compose

八、配置防火墙和云安全组

确保服务器对外开放了必需的端口:

  • 云安全组:登录云服务控制台,检查实例的安全组或防火墙规则,放行如下端口:
 TCP 80(HTTP) TCP 443(HTTPS,如果使用 SSL)
  • 本机防火墙(例如 ufw):

查看防火墙状态:

sudo ufw status

放行端口 80 和 443(如果需要):

sudo ufw allow 80/tcpsudo ufw allow 443/tcp

九、访问dify

1.通过 Nginx 反向代理访问

如果你使用了 Nginx 作为反向代理,且已设置端口映射(默认将宿主机的 80 映射到容器的 80 端口),则可在浏览器中直接访问:

http://

若你配置了 HTTPS(以及相应证书),则访问:

https://

2.管理员初始化页面

访问管理初始页面来设置管理员账号,通常访问地址为:

http:///install

3.Dify 主页面

初始化完成后,访问

http://

十、常见问题与排查建议

1.容器未启动/异常

  • 使用 docker compose ps 检查所有容器状态;
  • 若有容器反复重启或状态异常,使用 docker compose logs -f 查看详细日志排查错误原因。

2.网络访问问题

  • 在服务器本机使用 curl -I http://127.0.0.1 确认服务正常;
  • 检查云安全组和本机防火墙配置,确保所需端口(80、443 等)已放行。

3.Docker 镜像拉取速度慢/失败

  • 检查 /etc/docker/daemon.json 中加速器设置是否正确,并使用 docker info 确认配置生效;
  • 如有需要,可尝试使用 VPN 或离线导入镜像。

4.环境变量配置问题

  • 确保 .env 文件中各项关键配置正确无误(数据库、Redis、API 服务、日志等),参考 Dify 官方文档调整各项参数。