专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单

文档

工具

功能
提交工单页面收录

帮助
轩辕镜像免费版

其他
关于我们网站地图
热门搜索:
discourse

bitnamicharts/discourse

bitnamicharts

Bitnami提供的Discourse Helm Chart,用于在Kubernetes集群上部署具有内置审核和治理系统的开源讨论平台Discourse。

下载次数: 0状态:社区镜像维护者:bitnamicharts仓库类型:镜像最近更新:9 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
标签列表
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

Bitnami打包的Discourse®

Discourse是一个开源讨论平台,内置审核和治理系统,即使没有官方版主,讨论社区也能保护自己免受不良行为者的侵扰。

Discourse®概述

商标说明:本软件列表由Bitnami打包。产品中提及的各个商标分别归各自公司所有,使用这些商标并不意味着任何关联或背书。

快速开始

console
helm install my-release oci://registry-1.docker.io/bitnamicharts/discourse

希望在生产环境中使用Discourse®?请尝试VMware Tanzu Application Catalog,即Bitnami目录的商业版。

⚠️ 重要通知:Bitnami目录即将变更

自2025年8月28日起,Bitnami将升级其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦镜像集。作为此次转型的一部分:

  • 首次向社区用户开放热门容器镜像的安全优化版本访问权限。
  • Bitnami将开始在其免费层中弃用对非强化、基于Debian的软件镜像的支持,并将逐步从公共目录中移除非最新标签。因此,社区用户将只能访问数量减少的强化镜像,这些镜像仅以“latest”标签发布,适用于开发目的。
  • 从8月28日开始,在两周内,所有现有容器镜像(包括旧版本或特定版本标签,如2.50.0、10.6)将从公共目录(docker.io/bitnami)迁移到“Bitnami Legacy”仓库(docker.io/bitnamilegacy),迁移后将不再接收更新。
  • 对于生产工作负载和长期支持,建议用户采用Bitnami Secure Images,包括强化容器、更小的***面、CVE透明度(通过VEX/KEV)、SBOM以及企业支持。

这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。更多详情,请访问https://github.com/bitnami/containers/issues/83267%E3%80%82

简介

本Chart使用Helm包管理器在Kubernetes集群上引导Discourse部署。

它还包含https://github.com/bitnami/charts/tree/main/bitnami/postgresql%E5%92%8Chttps://github.com/bitnami/charts/tree/main/bitnami/redis%EF%BC%8C%E8%BF%99%E4%B8%A4%E8%80%85%E6%98%AFDiscourse%E5%BA%94%E7%94%A8%E6%89%80%E9%9C%80%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82

前提条件

  • Kubernetes 1.23+
  • Helm 3.8.0+
  • 底层基础设施支持PV供应器
  • 用于部署扩展的ReadWriteMany卷

安装Chart

要使用发布名称my-release安装Chart:

console
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/discourse

注意:您需要将占位符REGISTRY_NAME和REPOSITORY_NAME替换为Helm Chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。

该命令使用默认配置在Kubernetes集群上部署Discourse。参数部分列出了安装过程中可配置的参数。

提示:使用helm list列出所有发布。

配置和安装详情

资源请求和限制

Bitnami Charts允许为Chart部署中的所有容器设置资源请求和限制,这些配置位于resources值中(参见参数表)。为生产工作负载设置请求至关重要,应根据具体使用场景进行调整。

为简化此过程,Chart包含resourcesPreset值,可根据不同预设自动设置resources部分。有关这些预设,请查看https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15%E3%80%82%E4%BD%86%E5%9C%A8%E7%94%9F%E4%BA%A7%E5%B7%A5%E4%BD%9C%E8%B4%9F%E8%BD%BD%E4%B8%AD%EF%BC%8C%E4%B8%8D%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8%60resourcesPreset%60%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E5%8F%AF%E8%83%BD%E6%97%A0%E6%B3%95%E5%AE%8C%E5%85%A8%E9%80%82%E5%BA%94%E6%82%A8%E7%9A%84%E7%89%B9%E5%AE%9A%E9%9C%80%E6%B1%82%E3%80%82%E6%9C%89%E5%85%B3%E5%AE%B9%E5%99%A8%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%E5%AE%98%E6%96%B9Kubernetes%E6%96%87%E6%A1%A3%E3%80%82

滚动标签与不可变标签

强烈建议在生产环境中使用不可变标签。这可确保即使相同标签更新为不同镜像,部署也不会自动更改。

如果主容器有新版本、重大变更或存在严重漏洞,Bitnami将发布新Chart以更新其容器。

更新凭证

Bitnami Charts在首次启动时配置凭证。后续对密钥或凭证的任何更改都需要手动干预。请按照以下说明操作:

  • 按照上游文档更新用户密码
  • 使用新值更新密码密钥(替换SECRET_NAME、PASSWORD和SMTP_PASSWORD占位符)
shell
kubectl create secret generic SECRET_NAME --from-literal=discourse-password=PASSWORD --from-literal=smtp-password=SMTP_PASSWORD --dry-run -o yaml | kubectl apply -f -

设置复制

默认情况下,本Chart仅部署一个运行Discourse的Pod。如果您想增加副本数量,可以按照以下简单步骤确保一切顺利运行:

提示:执行这些步骤可确保PostgreSQL实例正确填充数据。如果您已有初始化的数据库,可以直接创建具有所需副本数量的发布。请记住设置discourse.skipInstall为true!

  1. 创建常规发布,稍后进行扩展:

    console
    helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/discourse
    ...
    

    注意:您需要将占位符REGISTRY_NAME和REPOSITORY_NAME替换为Helm Chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。

  2. 等待发布完成且Discourse成功运行。

    console
    $ kubectl get pods
    NAME                               READY   STATUS    RESTARTS   AGE
    my-release-discourse-744c48dd97-wx5h9   2/2     Running   0          5m11s
    my-release-postgresql-0                 1/1     Running   0          5m10s
    my-release-redis-master-0               1/1     Running   0          5m11s
    
  3. 执行升级,指定副本数量和使用的凭证。

    console
    helm upgrade my-release --set replicaCount=2,discourse.skipInstall=true oci://REGISTRY_NAME/REPOSITORY_NAME/discourse
    

    注意:您需要将占位符REGISTRY_NAME和REPOSITORY_NAME替换为Helm Chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。

    注意,要使此操作正常工作,您需要提供ReadWriteMany PVC。如果没有此类存储的供应器,建议安装NFS供应器Chart(使用正确参数,如persistence.enabled=true和persistence.size=10Gi)并将其映射到RWO卷。

    然后,您可以使用以下参数部署Discourse Chart:

    console
    persistence.storageClass=nfs
    postgresql.primary.persistence.storageClass=nfs
    

安装插件

您可以在发布安装期间通过discourse.plugins参数列出所需的插件仓库,从而安装自定义Discourse插件。例如:

yaml
discourse:
  plugins:
  - https://github.com/discourse/discourse-oauth2-basic

注意:默认情况下,插件在首次安装后会被持久化,因此后续升级无法更新它们。如果希望每次升级时更新插件,请将discourse.persistPlugins参数设置为false。

边车容器

如果需要在Discourse所在的同一Pod中运行额外容器(例如指标或日志导出器),可以通过sidecars配置参数实现。只需根据Kubernetes容器规范定义容器即可。

yaml
sidecars:
- name: your-image-name
  image: your-image
  imagePullPolicy: Always
  ports:
  - name: portname
    containerPort: 1234

如果这些边车容器导出额外端口,可以使用service.extraPorts值添加额外端口定义:

yaml
service:
  ...
  extraPorts:
  - name: extraPort
    port: 11311
    targetPort: 11311

使用外部数据库

有时您可能希望Discourse连接到外部数据库,而不是在集群内安装数据库,例如使用托管数据库服务,或为所有应用运行单个数据库服务器。为此,Chart允许您在externalDatabase参数下指定外部数据库的凭证。您还应使用postgresql.enabled选项禁用PostgreSQL安装。例如,使用以下参数:

console
postgresql.enabled=false
externalDatabase.host=myexternalhost
externalDatabase.user=myuser
externalDatabase.password=mypassword
externalDatabase.postgresUser=postgres
externalDatabase.postgresPassword=rootpassword
externalDatabase.database=mydatabase
externalDatabase.port=5432

注意,如果按上述方式禁用PostgreSQL,您必须提供externalDatabase连接的值。

如果数据库已包含来自先前Discourse安装的数据,需要将discourse.skipInstall参数设置为true。否则,容器将执行安装向导,并可能修改数据库中的现有数据。此参数强制容器不执行Discourse安装向导。

类似地,您可以指定外部Redis®实例,而不是在集群内安装。首先,使用redis.enabled选项禁用Redis®安装。如上所述,使用提供的参数提供实例信息:

console
redis.enabled=false
externalRedis.host=myexternalhost
externalRedis.password=mypassword
externalRedis.port=5432

Ingress

本Chart支持Ingress资源。如果集群上安装了Ingress控制器(如https://github.com/bitnami/charts/tree/main/bitnami/nginx-ingress-controller%E6%88%96https://github.com/bitnami/charts/tree/main/bitnami/contour%EF%BC%89%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%88%A9%E7%94%A8Ingress%E6%8E%A7%E5%88%B6%E5%99%A8%E4%B8%BA%E5%BA%94%E7%94%A8%E6%8F%90%E4%BE%9B%E6%9C%8D%E5%8A%A1%E3%80%82%E8%A6%81%E5%90%AF%E7%94%A8Ingress%E9%9B%86%E6%88%90%EF%BC%8C%E9%9C%80%E5%B0%86%60ingress.enabled%60%E8%AE%BE%E7%BD%AE%E4%B8%BA%60true%60%E3%80%82

最常见的场景是将一个主机名映射到部署。在这种情况下,可以使用ingress.hostname属性设置主机名。ingress.tls参数可用于为此主机添加TLS配置。

不过,也可以有多个主机。为此,可以设置ingress.extraHosts参数(如果可用),将主机名指定为数组。ingress.extraTLS参数(如果可用)也可用于为额外主机添加TLS配置。

注意:对于ingress.extraHosts参数中指定的每个主机,需要设置名称、路径以及Ingress控制器应了解的任何注解。并非所有注解都受所有Ingress控制器支持,但https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md%E5%88%97%E5%87%BA%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%B5%81%E8%A1%8CIngress%E6%8E%A7%E5%88%B6%E5%99%A8%E6%94%AF%E6%8C%81%E7%9A%84%E6%B3%A8%E8%A7%A3%E3%80%82

添加TLS参数(如可用)将使Chart生成HTTPS URL,应用将在443端口上可用。但在TLS密钥存在之前,Ingress记录无法工作。

了解更多关于Ingress控制器的信息。

使用TLS保护流量

本Chart便于创建用于Ingress控制器的TLS密钥(尽管这不是必需的)。有几种常见用例:

  • 基于Chart参数生成证书密钥。
  • 启用外部生成的证书。
  • 通过外部服务(如https://github.com/jetstack/cert-manager/%EF%BC%89%E7%AE%A1%E7%90%86%E5%BA%94%E7%94%A8%E8%AF%81%E4%B9%A6%E3%80%82
  • 在Chart内创建自签名证书(如果支持)。

在前两种情况下,需要证书和密钥。文件应为.pem格式。

以下是证书文件示例:

注意:如果存在证书链,可能会有多个证书。

text
-----BEGIN CERTIFICATE-----
MIID6TCCAtGgAwIBAgIJAIaCwivkeB5EMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV
...
jScrvkiBO65F46KioCL9h5tDvomdU1aqpI/CBzhvZn1c0ZTf87tGQR8NK7v7
-----END CERTIFICATE-----

以下是证书密钥示例:

text
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAvLYcyu8f3skuRyUgeeNpeDvYBCDcgq+LsWap6zbX5f8oLqp4
...
wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
-----END RSA PRIVATE KEY-----
  • 如果使用Helm基于参数管理证书,将这些值复制到给定*.ingress.secrets条目的certificate和key值中。
  • 如果单独管理TLS密钥,需要创建名称为INGRESS_HOSTNAME-tls的TLS密钥(其中INGRESS_HOSTNAME是占位符,需替换为使用*.ingress.hostname参数设置的主机名)。
  • 如果集群有https://github.com/jetstack/cert-manager%E9%99%84%E5%8A%A0%E7%BB%84%E4%BB%B6%E7%94%A8%E4%BA%8E%E8%87%AA%E5%8A%A8%E7%AE%A1%E7%90%86%E5%92%8C%E9%A2%81%E5%8F%91TLS%E8%AF%81%E4%B9%A6%EF%BC%8C%E5%8F%AF%E5%B0%86%E7%9B%B8%E5%BA%94%E6%B3%A8%E8%A7%A3%E6%B7%BB%E5%8A%A0%E5%88%B0%60*.ingress.annotations%60%E3%80%82
  • 如果使用Helm创建的自签名证书,需将*.ingress.tls和*.ingress.selfSigned都设置为true。

设置Pod亲和性

本Chart允许使用affinity参数设置自定义亲和性。有关Pod亲和性的更多信息,请参阅Kubernetes文档。

作为替代方案,您可以使用https://github.com/bitnami/charts/tree/main/bitnami/common#affinities Chart中提供的Pod亲和性、Pod反亲和性和节点亲和性的预设配置。为此,设置podAffinityPreset、podAntiAffinityPreset或nodeAffinityPreset参数。

备份和恢复

要在Kubernetes上备份和恢复Helm Chart部署,需要使用Velero(Kubernetes备份/恢复工具)备份源部署的持久卷,并将其附加到新部署。有关使用Velero的说明,请参阅本指南。

持久化

https://github.com/bitnami/containers/tree/main/bitnami/discourse%E9%95%9C%E5%83%8F%E5%B0%86Discourse%E6%95%B0%E6%8D%AE%E5%92%8C%E9%85%8D%E7%BD%AE%E5%AD%98%E5%82%A8%E5%9C%A8%E5%AE%B9%E5%99%A8%E7%9A%84%60/bitnami%60%E8%B7%AF%E5%BE%84%E4%B8%8B%E3%80%82

持久卷声明用于在部署之间保留数据。此功能在GCE、AWS和minikube上已知可正常工作。有关配置PVC或禁用持久化的信息,请参见参数部分。

参数

全局参数

名称描述值
global.imageRegistry全局Docker镜像仓库""
global.imagePullSecrets全局Docker仓库密钥名称数组[]
global.defaultStorageClass持久卷的全局默认StorageClass""
global.security.allowInsecureImages允许跳过镜像验证false
global.compatibility.openshift.adaptSecurityContext调整部署的securityContext部分,使其与OpenShift restricted-v2 SCC兼容:移除runAsUser、runAsGroup和fsGroup,让平台使用其允许的默认ID。可能值:auto(如果检测到运行的集群是OpenShift则应用)、force(始终执行调整)、disabled(不执行调整)auto

通用参数

名称描述值
kubeVersion强制目标Kubernetes版本(未设置时使用Helm能力)""
nameOverride部分覆盖discourse.fullname模板的字符串(将保留发布名称)""
fullnameOverride完全覆盖discourse.fullname模板的字符串""
clusterDomainKubernetes集群域名cluster.local
commonLabels要添加到所有部署资源的标签{}
commonAnnotations要添加到所有部署资源的

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 discourse 镜像标签

docker pull docker.xuanyuan.run/bitnamicharts/discourse:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull bitnamicharts/discourse:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
bitnamicharts/discourse
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
官方公众号:源码跳动|官方技术交流群:831623681
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.

更多 discourse 镜像推荐

discourse/discourse logo

discourse/discourse

discourse
Discourse Docker镜像是用于搭建开源论坛和在线社区讨论平台的工具,提供用户互动、帖子管理及实时通知等核心功能,适用于构建活跃的网络社区。
1 次收藏5万+ 次下载
1 天前更新
discourse/base logo

discourse/base

discourse
官方Discourse镜像,需配合launcher工具使用,用于部署功能完善的社区论坛平台,支持用户互动、内容管理及社区运营。
104 次收藏500万+ 次下载
1 天前更新
discourse/discourse_test logo

discourse/discourse_test

discourse
暂无描述
100万+ 次下载
1 天前更新
discourse/ruby logo

discourse/ruby

discourse
由Discourse维护的Ruby镜像,适用于运行Ruby应用程序及相关开发与生产环境。
5万+ 次下载
1 天前更新
discourse/discourse_dev logo

discourse/discourse_dev

discourse
暂无描述
6 次收藏10万+ 次下载
1 天前更新
discourse/auth-proxy logo

discourse/auth-proxy

discourse
暂无描述
10万+ 次下载
1 天前更新

查看更多 discourse 相关镜像