Skip to main content

支持的容器镜像仓库

  • AWS ECR(with AK/SK or IRSA)/ Azure ACR / Aliyun ACR (with AK/SK) / Tencent TCR (with AK/SK) / Dockerhub / Google Artifact Registry

为什么需要配置容器镜像仓库

  • Dify 企业版需要使用容器镜像仓库来存储和管理插件镜像。
  • 插件本身不是一个 Docker 镜像,而是一个包含插件代码和元数据的压缩包。
  • 当插件部署到 Kubernetes 集群时,该压缩包会被构建成 Docker 镜像,因此必须配置容器镜像仓库。

显示 Helm Chart 值

以下是 Helm Chart 中的容器镜像仓库相关配置示例:

如何配置容器镜像仓库

  • imageRepoSecret(必填):这是一个 Kubernetes Secret,用于存放访问容器镜像仓库的认证信息。
    • 1.1 注意imageRepoSecret 的值必须为 image-repo-secret,该 secret 会在部署时创建。
    • 1.2 请将以下脚本保存为 generate-image-repo-secret.sh
    • 1.3 赋予执行权限:
    • 1.4 执行脚本以创建 Kubernetes Secret:
  • imageRepoPrefix(必填):你的镜像仓库前缀,用于构建和推送插件镜像。
  • imageRepoType(必填):镜像仓库类型:
    • docker(默认):适用于 Docker Hub 或其他兼容 Docker 的仓库
    • ecr:适用于 AWS ECR
  • ecrRegion(可选):如果使用 AWS ECR,请填写所在区域。
  • insecureImageRepo(可选):如果你的镜像仓库不使用 HTTPS,可以设置为 true

插件 Pod 的 Kubernetes 调度配置

  • 插件 Pod 的调度配置(nodeSelector、affinity、tolerations、labels)继承自 plugin_connector 服务。

如何在网络受限的国家/地区进行配置

如果你的网络无法访问 docker.io,可以使用自定义的镜像仓库替代默认镜像地址。
  1. 需要替换为私有镜像的镜像列表:
  • gatewayImage:插件网关服务镜像。
  • shaderImage:构建插件时使用的 shader 镜像。
  • busyBoxImage:插件运行时使用的 busybox 镜像。
  • awsCliImage:AWS CLI 工具镜像。如果未使用 AWS,可忽略此镜像。
  • python3.xx:用于构建插件的基础镜像。
  1. 将镜像同步到你的私有镜像仓库