如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
WordPress 是全球最流行的博客和内容管理平台。它功能强大且简单易用,从学生到跨国公司,都使用它来构建美观、实用的网站。
Bitnami WordPress Helm Chart 用于在 Kubernetes 集群上通过 Helm 包管理器引导 WordPress 部署。该 Chart 还集成了 Bitnami MariaDB Chart(满足 WordPress 的数据库需求)和 Bitnami Memcached Chart(用于缓存数据库查询)。
WordPress 官方概述
.htaccess 配置快速安装(TL;DR)
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/wordpress
详细安装步骤
使用指定发布名称安装:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/wordpress
需替换占位符:
REGISTRY_NAME(如registry-1.docker.io)和REPOSITORY_NAME(如bitnamicharts)
查看所有发布:
consolehelm list
资源请求和限制
Bitnami Charts 允许为所有容器设置资源请求和限制,通过 resources 参数配置。生产环境必须设置资源请求,并根据实际需求调整。示例:
yamlresources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi
也可使用 resourcesPreset 预设(如 small、medium、large),但生产环境建议手动配置以适配具体需求。
凭证更新
Bitnami Charts 在首次启动时配置凭证,后续更新需手动操作:
SECRET_NAME、PASSWORD 和 SMTP_PASSWORD):
shellkubectl create secret generic SECRET_NAME \ --from-literal=wordpress-password=PASSWORD \ --from-literal=smtp-password=SMTP_PASSWORD \ --dry-run -o yaml | kubectl apply -f -
Prometheus 指标集成
metrics.enabled=true,将部署包含 apache-exporter 的 Sidecar 容器和 metrics Servicemetrics.serviceMonitor.enabled=true,自动创建 ServiceMonitor 资源外部数据库支持
禁用内置 MariaDB 并连接外部数据库:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/wordpress \ --set mariadb.enabled=false \ --set externalDatabase.host=myexternalhost \ --set externalDatabase.user=myuser \ --set externalDatabase.password=mypassword \ --set externalDatabase.database=mydatabase \ --set externalDatabase.port=3306
若数据库包含现有 WordPress 数据,需设置
wordpressSkipInstall=true跳过安装向导
Memcached 配置
启用内置 Memcached
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/wordpress \ --set wordpressConfigureCache=true \ --set memcached.enabled=true
对接外部 Memcached
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/wordpress \ --set wordpressConfigureCache=true \ --set memcached.enabled=false \ --set externalCache.host=myexternalcachehost \ --set externalCache.port=11211
Ingress 配置
启用 Ingress 以通过域名访问 WordPress:
yamlingress: enabled: true hostname: wordpress.example.com tls: true annotations: kubernetes.io/ingress.class: nginx cert-manager.io/cluster-issuer: letsencrypt-prod # 若使用 cert-manager # 额外主机配置(可选) extraHosts: - name: blog.example.com path: /blog annotations: {}
需确保集群已安装 Ingress 控制器(如 https://github.com/bitnami/charts/tree/main/bitnami/nginx-ingress-controller%EF%BC%89
TLS 安全配置
支持多种 TLS 证书管理方式:
手动创建 TLS Secret:
consolekubectl create secret tls wordpress-tls \ --cert=path/to/certificate.pem \ --key=path/to/private-key.pem
(Secret 名称需为 <ingress.hostname>-tls,如 wordpress.example.com-tls)
通过 cert-manager 自动签发: 在 Ingress 注解中添加:
yamlannotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" acme.cert-manager.io/http01-ingress-class: "nginx"
Helm 管理证书:
yamlingress: tls: true secrets: - name: wordpress-tls certificate: | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- key: | -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
.htaccess 文件管理
wordpress-htaccess.conf(位于 /opt/bitnami/wordpress/),Apache 配置为 AllowOverride None(禁用 .htaccess).htaccess,需:
yamlallowOverrideNone: false htaccessPersistenceEnabled: true # 持久化 .htaccess 编辑
custom-htaccess),并配置:
yamlallowOverrideNone: true customHTAccessCM: custom-htaccess
备份与恢复
使用 Velero 备份和恢复 WordPress 部署:
详细步骤参考 Bitnami Velero 备份指南
持久化存储
WordPress 数据和配置存储在容器的 /bitnami 路径,通过 Persistent Volume Claim 持久化:
storageClass: ""(依赖集群默认 StorageClass)yamlpersistence: enabled: true storageClass: "fast-storage" size: 10Gi accessMode: ReadWriteOnce
额外环境变量
添加自定义环境变量:
yamlwordpress: extraEnvVars: - name: LOG_LEVEL value: "error" - name: WP_DEBUG value: "false"
或通过 ConfigMap/Secret 注入:
yamlwordpress: extraEnvVarsCM: custom-env-cm # 从 ConfigMap 注入 extraEnvVarsSecret: custom-env-secret # 从 Secret 注入
Sidecar 和 Init 容器
添加 Sidecar 容器(如日志收集器):
yamlsidecars: - name: log-exporter image: busybox:1.35 command: ["tail", "-f", "/var/log/wordpress/access.log"] volumeMounts: - name: logs mountPath: /var/log/wordpress
添加 Init 容器(如文件权限配置):
yamlinitContainers: - name: fix-permissions image: busybox:1.35 command: ["chmod", "-R", "755", "/bitnami/wordpress"] volumeMounts: - name: wordpress-data mountPath: /bitnami/wordpress
Pod 亲和性配置
自定义 Pod 亲和性规则:
yamlaffinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - mariadb topologyKey: "kubernetes.io/hostname"
或使用预设亲和性(来自 https://github.com/bitnami/charts/tree/main/bitnami/common#affinities%EF%BC%89%EF%BC%9A
yamlpodAffinityPreset: soft # 软亲和性 podAntiAffinityPreset: hard # 硬反亲和性 nodeAffinityPreset: type: required key: workload values: ["wordpress"]
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像仓库,推出Bitnami Secure Images计划,主要变更包括:
latest 标签,用于开发)docker.io/bitnamilegacy(不再更新)latest 标签的硬化镜像docker.io/bitnami 切换至 docker.io/bitnamilegacy更多详情见 https://github.com/bitnami/containers/issues/83267
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥(数组) | [] |
global.defaultStorageClass | 持久卷默认 StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift restricted-v2 SCC 的安全上下文(移除 runAsUser 等),可选值:auto(自动检测)、force(强制适配)、disabled(禁用) | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
nameOverride | 部分覆盖资源名称模板(保留发布名称) | "" |
fullnameOverride | 完全覆盖资源名称模板 | "" |
commonLabels | 添加到所有资源的标签 | {} |
commonAnnotations | 添加到所有资源的注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 额外部署的 Kubernetes 对象(数组) | [] |
usePasswordFiles | 以文件而非环境变量挂载凭证 | true |
diagnosticMode.enabled | 启用诊断模式(禁用探针,覆盖命令) | false |
diagnosticMode.command | 诊断模式下的容器命令 | ["sleep"] |
diagnosticMode.args | 诊断模式下的命令参数 | ["infinity"] |
| 参数名 | 描述 | 默认值 |
|---|---|---|
image.registry | WordPress 镜像仓库 | REGISTRY_NAME |
image.repository | WordPress 镜像仓库路径 | REPOSITORY_NAME/wordpress |
image.digest | 镜像摘要(格式:sha256:aa...),设置后将覆盖 tag | "" |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
image.tag | 镜像标签 | ""(默认使用 Chart 版本) |
多副本维护模式问题:执行需要维护模式的管理操作(如插件更新)时,仅会在一个副本上激活维护模式,其他副本可能继续处理请求导致不可预测结果。
解决方法:通过 WP CLI 在所有副本上手动激活/停用维护模式(假设发布名为 wordpress,3 个副本):
console# 激活维护模式 for i in 0 1 2; do kubectl exec $(kubectl get pods -l app.kubernetes.io/name=wordpress -o jsonpath="{.items[$i].metadata.name}") -c wordpress -- wp maintenance-mode activate done # 停用维护模式 for i in 0 1 2; do kubectl exec $(kubectl get pods -l app.kubernetes.io/name=wordpress -o jsonpath="{.items[$i].metadata.name}") -c wordpress -- wp maintenance-mode deactivate done
完整参数列表请参见 https://github.com/bitnami/charts/blob/main/bitnami/wordpress/README.md
以下是 bitnamicharts/wordpress 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



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