Docker 部署说明文档

Docker 部署说明文档
欢迎使用全新的 Docker 目录通过 Docker Compose 部署 Dify。本文档将说明更新内容、部署指南以及现有用户的迁移细节。

重要更新
• Certbot 容器:docker-compose.yaml 现已集成 certbot 用于管理 SSL 证书。该容器可自动续期证书并确保 HTTPS 安全连接。更多信息请参阅 docker/certbot/README.md。

• 持久化环境变量:现在通过 .env 文件统一管理环境变量配置,确保部署配置可持久化保存。

什么是 .env 文件?
.env 是 Docker 和 Docker Compose 环境中的核心配置文件,用于集中定义容器运行时所需的环境变量。该文件简化了开发、测试和生产等不同阶段的环境配置管理,为部署提供一致的配置体验。

• 向量数据库服务整合:所有向量数据库服务现已统一通过 docker-compose.yaml 文件管理。您只需在 .env 文件中设置 VECTOR_STORE 环境变量即可切换不同的向量数据库(如 milvus/weaviate/opensearch 等)。

• 强制 .env 文件要求:现在执行 docker compose up 必须提供 .env 文件。该文件对配置持久化和升级维护至关重要。

• 旧版支持:旧版部署文件已迁移至 docker-legacy 目录,后续将不再维护。

Docker Compose 部署指南
前提条件
确保系统已安装 Docker 和 Docker Compose

环境配置

  1. 进入 docker 目录
  2. 执行 cp .env.example .env 创建配置文件
  3. 按需编辑 .env 文件(配置说明详见 .env.example)

启动服务
• 在 docker 目录下执行 docker compose up
• 在 .env 文件中设置 VECTOR_STORE 变量指定向量数据库(如 milvus/weaviate/opensearch)

SSL 证书配置
请参阅 docker/certbot/README.md 通过 Certbot 配置 SSL 证书

中间件开发环境部署
中间件配置

  1. 使用 docker-compose.middleware.yaml 部署数据库/缓存等核心中间件
  2. 执行 cp middleware.env.example middleware.env 创建配置文件(参考 middleware.env.example)

启动中间件
执行 docker-compose -f docker-compose.middleware.yaml up --env-file middleware.env -d

现有用户迁移指南
迁移步骤

  1. 变更审查:熟悉新的 .env 配置体系和 Docker Compose 结构
  2. 配置迁移:
    • 原 docker-compose.yaml 自定义配置需转换为 .env 配置项
    • ssrf_proxy/squid.conf 和 nginx/conf.d/default.conf 等配置需相应调整
  3. 数据迁移:
    • 确保数据库/缓存等服务的备份数据迁移至新结构

.env 文件详解
核心模块与定制
• 向量数据库服务:根据 VECTOR_STORE 类型配置对应端点/端口/认证信息
• 存储服务:通过 STORAGE_TYPE 配置 S3/Azure Blob/Google Storage 等存储方案
• API 与 Web 服务:定义 API 接口和前端运行的各类参数

其他关键变量
提供的 .env.example 包含全面的配置选项,主要分为以下模块:

通用配置
• CONSOLE_API_URL/SERVICE_API_URL:API 服务地址
• APP_WEB_URL:前端应用地址
• FILES_URL:文件下载/预览基础地址

服务器配置
• LOG_LEVEL/DEBUG/FLASK_DEBUG:日志与调试设置
• SECRET_KEY:会话加密密钥

数据库配置
• DB_USERNAME/DB_PASSWORD/DB_HOST/DB_PORT:PostgreSQL 连接参数

Redis 配置
• REDIS_HOST/REDIS_PORT/REDIS_PASSWORD:Redis 连接参数

Celery 配置
• CELERY_BROKER_URL:消息代理地址

存储配置
• STORAGE_TYPE/S3_BUCKET_NAME/AZURE_BLOB_ACCOUNT_NAME:文件存储方案配置

向量数据库配置
• VECTOR_STORE:数据库类型(weaviate/milvus 等)
• 各数据库专属配置(WEAVIATE_ENDPOINT/MILVUS_URI 等)

CORS 配置
• WEB_API_CORS_ALLOW_ORIGINS/CONSOLE_CORS_ALLOW_ORIGINS:跨域资源共享设置

服务专属变量
nginx/redis/db/向量数据库等组件在 docker-compose.yaml 中均有对应的环境变量定义

其他说明
• 持续优化阶段:我们正积极收集社区反馈以完善部署流程
• 技术支持:详细配置请参考 docker 目录下的 .env.example 和 Docker Compose 文件
• 官方文档:如需进一步协助,请查阅官方文档或联系技术支持团队

本说明文档旨在指导您使用新版 Docker Compose 完成部署。如遇问题,请参考相关技术文档获取支持。

Docker是一个容器技术,可以帮助我们在不同的操作系统和环境下运行应用程序,且不会出现不兼容的问题。下面是一个简单的Docker部署安装说明文档。 ## 1. 安装Docker 首先,在你的系统上安装Docker。具体安装方法可以参考[Docker官网](https://docs.docker.com/get-docker/)。 ## 2. 创建Docker镜像 接下来,可以通过编写Dockerfile文件来创建一个Docker镜像。Dockerfile是一个文本文件,包含了构建Docker镜像所需要的所有指令。 Dockerfile的编写可以参考[Docker官方文档](https://docs.docker.com/engine/reference/builder/)。 ## 3. 构建Docker镜像 在编写好Dockerfile之后,可以通过以下命令来构建Docker镜像: ``` docker build -t <image-name> <path-to-dockerfile> ``` 其中,`<image-name>`是你要创建的Docker镜像的名称,`<path-to-dockerfile>`是Dockerfile文件所在的路径。 ## 4. 运行Docker容器 构建好Docker镜像之后,就可以通过以下命令来运行Docker容器: ``` docker run -d -p <host-port>:<container-port> <image-name> ``` 其中,`<host-port>`是你要映射到主机的端口号,`<container-port>`是Docker容器内部的端口号,`<image-name>`是你要运行的Docker镜像的名称。 ## 5. 验证运行结果 最后,可以通过以下命令来查看Docker容器的运行情况: ``` docker ps ``` 如果Docker容器正常运行,就可以通过浏览器或者其他工具来访问应用程序了。 以上就是一个简单的Docker部署安装说明文档,希望对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值