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 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务