字节笔记本字节笔记本

Docker Compose 部署 Dify

2024-06-21

使用Docker Compose在不同操作系统上部署Dify应用的步骤和要求。

Docker Compose 部署

先决条件

macOS 10.14 或更高版本
  • Docker Desktop
    • 设置 Docker 虚拟机使用至少 2 个虚拟 CPU (vCPU) 和 8 GB 的初始内存。否则,安装可能会失败。有关更多信息,请参阅在 Mac 上安装 Docker Desktop
Linux 平台
启用 WSL 2 的 Windows
  • Docker Desktop
    • 我们建议在将源代码和其他数据绑定到 Linux 容器时,将其存储在 Linux 文件系统中,而不是 Windows 文件系统中。有关更多信息,请参阅使用 WSL 2 后端在 Windows 上安装 Docker Desktop。

克隆 Dify

将 Dify 源代码克隆至本地:

git clone https://github.com/langgenius/dify.git

启动 Dify

进入 Dify 源代码的 docker 目录,执行一键启动命令:

cd dify/docker
docker compose up -d

注意:如果您的系统安装了 Docker Compose V2 而不是 V1,请使用 docker compose 而不是 docker-compose。通过 $ docker compose version 检查是否为这种情况。

部署结果

部署成功后,您将看到如下输出:

[+] Running 7/7
 ✔ Container docker-web-1       Started                                                                                                                                                                                       1.0s 
 ✔ Container docker-redis-1     Started                                                                                                                                                                                       1.1s 
 ✔ Container docker-weaviate-1  Started                                                                                                                                                                                       0.9s 
 ✔ Container docker-db-1        Started                                                                                                                                                                                       0.0s 
 ✔ Container docker-worker-1    Started                                                                                                                                                                                       0.7s 
 ✔ Container docker-api-1       Started                                                                                                                                                                                       0.8s 
 ✔ Container docker-nginx-1     Started

最后,检查所有容器是否正常运行:

docker compose ps

包括 3 个业务服务 api / worker / web,以及 4 个基础组件 weaviate / db / redis / nginx

NAME                IMAGE                              COMMAND                  SERVICE             CREATED             STATUS              PORTS
docker-api-1        langgenius/dify-api:0.3.2          "/entrypoint.sh"         api                 4 seconds ago       Up 2 seconds        80/tcp, 5001/tcp
docker-db-1         postgres:15-alpine                 "docker-entrypoint.s…"   db                  4 seconds ago       Up 2 seconds        0.0.0.0:5432->5432/tcp
docker-nginx-1      nginx:latest                       "/docker-entrypoint.…"   nginx               4 seconds ago       Up 2 seconds        0.0.0.0:80->80/tcp
docker-redis-1      redis:6-alpine                     "docker-entrypoint.s…"   redis               4 seconds ago       Up 3 seconds        6379/tcp
docker-weaviate-1   semitechnologies/weaviate:1.18.4   "/bin/weaviate --hos…"   weaviate            4 seconds ago       Up 3 seconds        
docker-web-1        langgenius/dify-web:0.3.2          "/entrypoint.sh"         web                 4 seconds ago       Up 3 seconds        80/tcp, 3000/tcp
docker-worker-1     langgenius/dify-api:0.3.2          "/entrypoint.sh"         worker              4 seconds ago       Up 2 seconds        80/tcp, 5001/tcp

升级 Dify

进入 Dify 源代码的 docker 目录,按顺序执行以下命令:

cd dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d

访问 Dify

在浏览器中输入 http://localhost 访问 Dify。