如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Matomo(前身为Piwik)是一款实时网络分析程序,可提供详细的网站访问者报告。
https://matomo.org/
商标说明:本软件列表由Bitnami打包。产品中提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consoledocker run --name matomo docker.xuanyuan.run/bitnami/matomo:latest
警告:此快速设置仅适用于开发环境。建议您更改不安全的默认凭据,并查看环境变量部分中的可用配置选项,以进行更安全的部署。
自2025年8月28日起,Bitnami将改进其公共目录,在新的https://news.broadcom.com/app-dev/broadcom-introduces-bitnami-secure-images-for-production-ready-containerized-applications下提供精选的强化、安全聚焦镜像。作为此次过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。更多详情,请访问https://github.com/bitnami/containers/issues/83267。
仅有部分BSI应用程序可免费使用。希望访问完整的应用程序目录以及企业支持?立即尝试https://www.arrow.com/globalecs/uk/products/bitnami-secure-images/。
非root容器镜像增加了额外的安全层,通常推荐用于生产环境。但是,由于它们以非root用户运行,通常无法执行特权任务。在我们的文档中https://techdocs.broadcom.com/us/en/vmware-tanzu/application-catalog/tanzu-application-catalog/services/tac-doc/apps-tutorials-work-with-non-root-containers-index.html。
Dockerfile 链接了解Bitnami标签策略以及滚动标签和不可变标签之间的区别,请参阅https://techdocs.broadcom.com/us/en/vmware-tanzu/application-catalog/tanzu-application-catalog/services/tac-doc/apps-tutorials-understand-rolling-tags-containers-index.html。
您可以通过查看分支文件夹中的tags-info.yaml文件(即bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)来了解不同标签之间的对应关系。
通过关注https://github.com/bitnami/containers订阅项目更新。
要运行此应用程序,您需要https://www.docker.com/products/docker-engine >= 1.10.0。建议使用https://docs.docker.com/compose/,版本`1.6.0`或更高。
获取Bitnami Matomo Docker镜像的推荐方式是从https://hub.docker.com/r/bitnami/matomo/拉取预构建镜像。要使用特定版本,您可以拉取带版本的标签。在Docker Hub Registry中找到https://hub.docker.com/r/bitnami/matomo/tags/。
consoledocker pull docker.xuanyuan.run/bitnami/matomo:[TAG]
如果您愿意,也可以通过克隆仓库、切换到包含Dockerfile的目录并执行docker build命令来自行构建镜像。请记住在下面的示例命令中用正确的值替换APP、VERSION和OPERATING-SYSTEM路径占位符。
consolegit clone https://github.com/bitnami/containers.git cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
Matomo需要访问MySQL数据库或MariaDB数据库来存储信息。它使用我们的https://github.com/bitnami/containers/blob/main/bitnami/mariadb满足数据库要求。
如果您想手动运行应用程序而不使用docker-compose,您需要执行以下基本步骤:
为应用程序和数据库创建新网络:
consoledocker network create matomo_network
创建MariaDB持久化卷并创建MariaDB容器
consoledocker volume create --name mariadb_data docker run -d --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_USER=bn_matomo \ -e MARIADB_DATABASE=bitnami_matomo \ --net matomo_network \ --volume mariadb_data:/bitnami \ docker.xuanyuan.run/bitnami/mariadb:latest
创建Matomo持久化卷并启动容器
consoledocker volume create --name matomo_data docker run -d --name matomo -p 80:8080 -p 443:8443 \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MATOMO_DATABASE_USER=bn_matomo \ -e MATOMO_DATABASE_NAME=bitnami_matomo \ --net matomo_network \ --volume matomo_data:/bitnami \ docker.xuanyuan.run/bitnami/matomo:latest
然后您可以通过http://your-ip/访问应用程序。
consolecurl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/matomo/docker-compose.yml > docker-compose.yml docker-compose up -d
请注意,此文件未经内部测试。因此,建议仅将其用于开发或测试目的。对于生产就绪部署,强烈建议使用其关联的https://github.com/bitnami/charts/tree/main/bitnami/matomo。
如果您在docker-compose.yaml文件中发现任何问题,请随时报告或按照我们的https://github.com/bitnami/containers/blob/main/CONTRIBUTING.md贡献修复。
如果您删除容器,所有数据和配置都将丢失,下次运行镜像时数据库将重新初始化。为避免数据丢失,您应该挂载一个卷,该卷在容器被删除后仍会保留。
为了持久化,您应该在/bitnami路径挂载一个卷。此外,您还应该为https://github.com/bitnami/containers/blob/main/bitnami/mariadb#persisting-your-database挂载一个卷。
上述示例定义了名为mariadb_data和matomo_data的docker卷。只要这些卷未被删除,Matomo应用程序状态就会持久化。
要避免意外删除这些卷,您可以https://docs.docker.com/engine/tutorials/dockervolumes/。或者,您可以使用卷插件来托管卷数据。
使用Docker Compose将主机目录挂载为数据卷
这需要对此仓库中的https://github.com/bitnami/containers/blob/main/bitnami/matomo/docker-compose.yml文件进行 minor 修改:
yamlservices: mariadb: ... volumes: - /path/to/mariadb-persistence:/bitnami ... matomo: ... volumes: - /path/to/matomo-persistence:/bitnami ...
注意:由于这是一个非root容器,挂载的文件和目录必须对UID
1001具有适当的权限。
使用Docker命令行将主机目录挂载为数据卷
在这种情况下,您需要在运行命令时指定要挂载的目录。过程与前面显示的相同:
创建网络(如果不存在):
consoledocker network create matomo_network
使用主机卷创建MariaDB容器:
consoledocker run -d --name mariadb \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MARIADB_USER=bn_matomo \ -e MARIADB_DATABASE=bitnami_matomo \ --net matomo_network \ --volume /path/to/mariadb-persistence:/bitnami \ docker.xuanyuan.run/bitnami/mariadb:latest
注意:您需要给容器命名,以便Matomo能够解析主机
使用主机卷创建Matomo容器:
consoledocker run -d --name matomo -p 80:80 -p 443:443 \ -e ALLOW_EMPTY_PASSWORD=yes \ -e MATOMO_DATABASE_USER=bn_matomo \ -e MATOMO_DATABASE_NAME=bitnami_matomo \ --net matomo_network \ --volume /path/to/matomo-persistence:/bitnami \ docker.xuanyuan.run/bitnami/matomo:latest
要备份您的数据、配置和日志,请按照以下简单步骤操作:
步骤1:停止当前运行的容器
consoledocker stop matomo
或使用Docker Compose:
consoledocker-compose stop matomo
步骤2:运行备份命令
我们需要在用于创建备份的容器中挂载两个卷:主机上用于存储备份的目录,以及我们刚刚停止的容器的卷,以便我们可以访问数据。
consoledocker run --rm -v /path/to/matomo-backups:/backups --volumes-from matomo docker.xuanyuan.run/busybox \ cp -a /bitnami/matomo /backups/latest
恢复备份就像将备份作为卷挂载到容器中一样简单。
对于MariaDB数据库容器:
diff$ docker run -d --name mariadb \ ... - --volume /path/to/mariadb-persistence:/bitnami/mariadb \ + --volume /path/to/mariadb-backups/latest:/bitnami/mariadb \ bitnami/mariadb:latest
对于Matomo容器:
diff$ docker run -d --name matomo \ ... - --volume /path/to/matomo-persistence:/bitnami/matomo \ + --volume /path/to/matomo-backups/latest:/bitnami/matomo \ bitnami/matomo:latest
Bitnami提供MariaDB和Matomo的最新版本,包括安全补丁,在上游发布后很快就会更新。建议您按照以下步骤升级容器。这里我们将介绍Matomo容器的升级。关于MariaDB的升级,您可以查看https://github.com/bitnami/containers/tree/main/bitnami/mariadb#upgrade-this-image
获取更新的镜像:
consoledocker pull docker.xuanyuan.run/bitnami/matomo:latest
停止您的容器
$ docker-compose stop matomo$ docker stop matomo拍摄应用程序状态快照
consolersync -a /path/to/matomo-persistence /path/to/matomo-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
此外,https://github.com/bitnami/containers/blob/main/bitnami/mariadb#step-2-stop-and-backup-the-currently-running-container
如果升级失败,您可以使用这些快照恢复应用程序状态。
删除当前运行的容器
$ docker-compose rm -v matomo$ docker rm -v matomo运行新镜像
$ docker-compose up matomodocker run --name matomo bitnami/matomo:latest可自定义环境变量
| 名称 | 描述 | 默认值 |
|---|---|---|
MATOMO_DATA_TO_PERSIST | 相对于Matomo安装目录的要持久化的文件。要提供多个值,请用空格分隔。 | $MATOMO_BASE_DIR |
MATOMO_EXCLUDED_DATA_FROM_UPDATE | 相对于Matomo安装目录(与config.ini.php相同)要排除更新的文件。要提供多个值,请用空格分隔。无默认值。 | nil |
MATOMO_SKIP_BOOTSTRAP | 是否执行应用程序的初始引导。 | nil |
MATOMO_PROXY_HOST_HEADER | 指定主机IP HTTP头。通常为HTTP_X_FORWARDED_HOST。无默认值。 | nil |
MATOMO_PROXY_CLIENT_HEADER | 指定客户端IP HTTP头。通常为HTTP_X_FORWARDED_FOR。 | nil |
MATOMO_ENABLE_ASSUME_SECURE_PROTOCOL | 在Matomo配置文件中启用assume_secure_protocol。 | no |
MATOMO_ENABLE_FORCE_SSL | 在Matomo配置文件中启用force_ssl。 | no |
MATOMO_ENABLE_PROXY_URI_HEADER | 在Matomo配置文件中启用proxy_uri_header。 | no |
MATOMO_USERNAME | Matomo用户名。 | user |
MATOMO_PASSWORD | Matomo用户密码。 | bitnami |
MATOMO_EMAIL | Matomo用户电子邮件地址。 | user@example.com |
MATOMO_HOST | Matomo要跟踪的网站名称。 | 127.0.0.1 |
MATOMO_WEBSITE_NAME | Matomo要跟踪的网站名称。 | example |
MATOMO_WEBSITE_HOST | Matomo要跟踪的网站主机或域名。 | https://example.org |
MATOMO_ENABLE_TRUSTED_HOST_CHECK | 启用受信任主机检查。 | no |
MATOMO_ENABLE_DATABASE_SSL | 是否在Matomo配置文件中启用数据库连接SSL。 | no |
MATOMO_DATABASE_SSL_CA_FILE | 数据库服务器CA证书 bundle 文件路径。 | nil |
MATOMO_DATABASE_SSL_CERT_FILE | 数据库客户端证书文件路径。 | nil |
MATOMO_DATABASE_SSL_KEY_FILE | 数据库客户端证书密钥路径 | nil |
MATOMO_VERIFY_DATABASE_SSL | 启用SSL时是否验证数据库SSL证书 | yes |
MATOMO_SMTP_HOST | Matomo SMTP服务器主机。 | nil |
MATOMO_SMTP_PORT_NUMBER | Matomo SMTP服务器端口号。 | nil |
MATOMO_SMTP_USER | Matomo SMTP服务器用户。 | nil |
| `MATOMO_SM |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 bitnami/matomo 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: