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

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
discourse

bitnamicharts/discourse

bitnamicharts

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

下载次数: 0状态:社区镜像维护者:bitnamicharts仓库类型:镜像最近更新:8 个月前
轩辕镜像,不浪费每一次拉取。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。点击查看

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:<标签>

更多 discourse 镜像推荐

discourse/discourse logo

discourse/discourse

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

bitnami/discourse

Bitnami Secure Images(VMware Tanzu)
Bitnami提供的安全镜像,用于部署和运行Discourse开源论坛平台,具备安全配置优化。
70 次收藏1000万+ 次下载
8 个月前更新
discourse/base logo

discourse/base

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

discourse/discourse_test

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

discourse/discourse_dev

discourse
暂无描述
6 次收藏10万+ 次下载
2 天前更新
discourse/ruby logo

discourse/ruby

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

查看更多 discourse 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

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

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
bitnamicharts/discourse
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.