如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Matomo(前身为Piwik)是一款实时网络分析程序,可提供详细的网站访问者报告。
Matomo 概述
商标说明:本软件列表由Bitnami打包。产品中提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consoledocker run --name matomo bitnami/matomo:latest
警告:此快速设置仅适用于开发环境。建议您更改不安全的默认凭据,并查看环境变量部分中的可用配置选项,以进行更安全的部署。
自2025年8月28日起,Bitnami将改进其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦镜像。作为此次过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。更多详情,请访问https://github.com/bitnami/containers/issues/83267%E3%80%82
仅有部分BSI应用程序可免费使用。希望访问完整的应用程序目录以及企业支持?立即尝试Bitnami Secure Images商业版。
非root容器镜像增加了额外的安全层,通常推荐用于生产环境。但是,由于它们以非root用户运行,通常无法执行特权任务。在我们的文档中了解更多关于非root容器的信息。
Dockerfile 链接了解Bitnami标签策略以及滚动标签和不可变标签之间的区别,请参阅我们的文档页面。
您可以通过查看分支文件夹中的tags-info.yaml文件(即bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)来了解不同标签之间的对应关系。
通过关注https://github.com/bitnami/containers%E8%AE%A2%E9%98%85%E9%A1%B9%E7%9B%AE%E6%9B%B4%E6%96%B0%E3%80%82
要运行此应用程序,您需要Docker Engine >= 1.10.0。建议使用Docker Compose,版本1.6.0或更高。
获取Bitnami Matomo Docker镜像的推荐方式是从https://hub.docker.com/r/bitnami/matomo/%E6%8B%89%E5%8F%96%E9%A2%84%E6%9E%84%E5%BB%BA%E9%95%9C%E5%83%8F%E3%80%82%E8%A6%81%E4%BD%BF%E7%94%A8%E7%89%B9%E5%AE%9A%E7%89%88%E6%9C%AC%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%8B%89%E5%8F%96%E5%B8%A6%E7%89%88%E6%9C%AC%E7%9A%84%E6%A0%87%E7%AD%BE%E3%80%82%E5%9C%A8Docker Hub Registry中找到https://hub.docker.com/r/bitnami/matomo/tags/%E3%80%82
consoledocker pull 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%E6%BB%A1%E8%B6%B3%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A6%81%E6%B1%82%E3%80%82
如果您想手动运行应用程序而不使用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 \ 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 \ 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%E3%80%82
如果您在docker-compose.yaml文件中发现任何问题,请随时报告或按照我们的https://github.com/bitnami/containers/blob/main/CONTRIBUTING.md%E8%B4%A1%E7%8C%AE%E4%BF%AE%E5%A4%8D%E3%80%82
如果您删除容器,所有数据和配置都将丢失,下次运行镜像时数据库将重新初始化。为避免数据丢失,您应该挂载一个卷,该卷在容器被删除后仍会保留。
为了持久化,您应该在/bitnami路径挂载一个卷。此外,您还应该为https://github.com/bitnami/containers/blob/main/bitnami/mariadb#persisting-your-database%E6%8C%82%E8%BD%BD%E4%B8%80%E4%B8%AA%E5%8D%B7%E3%80%82
上述示例定义了名为mariadb_data和matomo_data的docker卷。只要这些卷未被删除,Matomo应用程序状态就会持久化。
要避免意外删除这些卷,您可以将主机目录挂载为数据卷。或者,您可以使用卷插件来托管卷数据。
使用Docker Compose将主机目录挂载为数据卷
这需要对此仓库中的https://github.com/bitnami/containers/blob/main/bitnami/matomo/docker-compose.yml%E6%96%87%E4%BB%B6%E8%BF%9B%E8%A1%8C 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 \ 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 \ 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 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 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 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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