bitnamicharts/phpmyadminphpMyAdmin 是一款用 PHP 编写的免费软件工具,旨在通过 Web 界面管理 MySQL 和 MariaDB 数据库。它支持对 MySQL 和 MariaDB 进行广泛的操作,是 Web 托管服务中最流行的数据库管理工具之一。Bitnami 提供的 phpMyAdmin 镜像/Helm Chart 经过优化,便于在 Kubernetes 集群或 Docker 环境中快速部署和使用,适用于开发、测试及生产环境(需注意后续安全镜像迁移说明)。
bashdocker run -d \ --name phpmyadmin \ -p 8080:8080 \ -e PMA_HOST=mysql-host \ # MySQL/MariaDB 主机地址 -e PMA_PORT=3306 \ # MySQL/MariaDB 端口 -e PMA_USER=root \ # 数据库管理员用户名(可选) -e PMA_PASSWORD=password # 数据库管理员密码(可选) bitnami/phpmyadmin:latest
访问 http://localhost:8080 即可打开 phpMyAdmin 界面。
yamlversion: '3' services: phpmyadmin: image: bitnami/phpmyadmin:latest ports: - "8080:8080" environment: - PMA_HOST=mysql - PMA_PORT=3306 - PMA_ARBITRARY=1 # 允许连接任意主机(开发环境用) depends_on: - mysql mysql: image: bitnami/mysql:latest environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=testdb volumes: - mysql-data:/bitnami/mysql/data volumes: mysql-data:
bash# 添加 Bitnami 仓库(若未添加) helm repo add bitnami [***] helm repo update # 安装 Chart( release 名称为 my-release) helm install my-release oci://registry-1.docker.io/bitnamicharts/phpmyadmin
通过 --set 覆盖默认参数:
bashhelm install my-release oci://registry-1.docker.io/bitnamicharts/phpmyadmin \ --set service.type=NodePort \ --set ingress.enabled=true \ --set ingress.hostname=phpmyadmin.example.com \ --set pmaHost=mysql-service \ # Kubernetes 集群内 MySQL 服务名 --set pmaPort=3306
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
PMA_HOST | MySQL/MariaDB 主机地址 | localhost |
PMA_PORT | MySQL/MariaDB 端口 | 3306 |
PMA_USER | 默认登录用户名 | "" |
PMA_PASSWORD | 默认登录密码 | "" |
PMA_ARBITRARY | 允许连接任意主机(1=启用) | 0 |
PMA_CONFIG_BASE64 | base64 编码的 config.inc.php | "" |
启用 Ingress 以通过域名访问:
yamlingress: enabled: true hostname: phpmyadmin.example.com annotations: kubernetes.io/ingress.class: nginx cert-manager.io/cluster-issuer: letsencrypt-prod # 若使用 cert-manager tls: - hosts: - phpmyadmin.example.com secretName: phpmyadmin-tls
启用 Prometheus 指标收集:
yamlmetrics: enabled: true serviceMonitor: enabled: true # 若使用 Prometheus Operator service: annotations: prometheus.io/scrape: "true" prometheus.io/port: "9117"
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥(数组) | [] |
global.defaultStorageClass | 持久化卷的全局默认 StorageClass | "" |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过验证) | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift 安全上下文(auto/force/disabled) | disabled |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 目标 Kubernetes 版本(未设置则使用 Helm 自动检测) | "" |
nameOverride | 部分覆盖资源名称模板(保留 release 名称) | "" |
fullnameOverride | 完全覆盖资源名称模板 | "" |
commonLabels | 为所有资源添加标签 | {} |
commonAnnotations | 为所有资源添加注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
| 参数名 | 描述 | 默认值 |
|---|---|---|
image.registry | phpMyAdmin 镜像仓库 | REGISTRY_NAME |
image.repository | phpMyAdmin 镜像名称 | REPOSITORY_NAME/phpmyadmin |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
image.debug | 启用镜像调试模式 | false |
containerPorts.http | 容器 HTTP 端口 | 8080 |
containerPorts.https | 容器 HTTPS 端口 | 8443 |
podSecurityContext.enabled | 启用 Pod 安全上下文 | true |
podSecurityContext.fsGroup | 文件系统组 ID | 1001 |
containerSecurityContext.runAsUser | 容器运行用户 ID | 1001 |
containerSecurityContext.readOnlyRootFilesystem | 只读根文件系统 | true |
自 2025 年 8 月 28 日起,Bitnami 将启动 Bitnami Secure Images 计划,调整公共镜像目录:
latest 标签,用于开发)。2.50.0、10.6)将在两周内从 docker.io/bitnami 迁移至 docker.io/bitnamilegacy,且不再更新。latest 标签的硬化镜像,但需注意无长期更新。详情参见 Bitnami Secure Images 公告。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务