Dify升级到1.5.1详细操作步骤,规避和RAGFlow的镜像冲突问题

一、步骤概述

官方给出了操作方法。其核心步骤就是:

  • 停止服务:在更新之前,先停止当前运行的服务。

  • 备份文件:确保备份重要文件,包括 docker-compose.yaml 文件、.env 文件和 volumes 目录。

  • 拉取新的版本相关文件。

  • 更新文件:使用目标版本的对应文件(如 Dify v1.5.1),并更新相关参数,如 URL、数据库密码等。

  • 启动更新后的服务。 清理旧镜像:可以选择清理不再需要的旧镜像以节省空间。 通过这些步骤,可以顺利完成 Dify 的版本升级。

二、停止服务

docker compose down

三、备份参数和数据

cp docker-compose.yaml docker-compose.yaml.20250709
cp .env .env.20250709
tar -cvf volumes-20250709.tgz volumes

压缩的时候可能会报错,也可以用winrar的压缩自行备份,直接拷贝目录也行。

三、拉取最新版本

git checkout main
git pull origin main

注意:拉取的过程需要开启科学上网。有时还需要登录docker。

四、修改参数

在本机用docker安装了ragflow的情况下防止镜像冲突,需要修改默认容器和端口,如果感觉还不保险可以指定network,这里我只修改默认容器,用不同容器和端口来隔离。

内容很长,举两个片段,看标红颜色的地方,就是指定容器。

  # The redis cache.

  redis:

    image: redis:6-alpine

    container_name: dify-redis

    restart: always

    environment:

      REDISCLI_AUTH: ${REDIS_PASSWORD:-difyai123456}

    volumes:

      # Mount the redis data directory to the container.

      - ./volumes/redis/data:/data

    # Set the redis password when startup redis server.

    command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456}

    healthcheck:

      test: [ 'CMD', 'redis-cli', 'ping' ]

  # The DifySandbox

  sandbox:

    image: langgenius/dify-sandbox:0.2.12

    container_name: dify-sandbox

    restart: always

    environment:

      # The DifySandbox configurations

      # Make sure you are changing this key for your deployment with a strong key.

      # You can generate a strong key using `openssl rand -base64 42`.

      API_KEY: ${SANDBOX_API_KEY:-dify-sandbox}

      GIN_MODE: ${SANDBOX_GIN_MODE:-release}

      WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15}

      ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true}

      HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128}

      HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128}

      SANDBOX_PORT: ${SANDBOX_PORT:-8194}

      PIP_MIRROR_URL: ${PIP_MIRROR_URL:-}

    volumes:

      - ./volumes/sandbox/dependencies:/dependencies

      - ./volumes/sandbox/conf:/conf

    healthcheck:

      test: [ 'CMD', 'curl', '-f', 'http://localhost:8194/health' ]

    networks:

      - ssrf_proxy_network

如果要嫌一个个改yml文件中每个镜像的容器名称繁琐,可以采用下面第五段中第二段中的方法,在启动容器时指定项目名称。当然这个依然还要在yml中改web端口和redis端口,使两个项目不冲突。

五、启动服务

检查Docker Compose版本:
docker compose version

根据docker版本选择启动命令,注意此处也需要科学上网:
V2版本执行:
docker compose up -d

V1版本执行:
docker-compose up -d

如果指定项目名称规避和ragflow的镜像冲突,用下面指令:
docker compose -p docker-dify up -d
docker-compose-p docker-dify up -d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数智前沿

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值