文档【免费下载链接】docsDocumentation for Docker Official Images in docker-library项目地址https://gitcode.com/gh_mirrors/docs/docs点击查看免费下载Matomo原 Piwik是一款开源、注重隐私保护的网站分析平台而matomo是 Docker 官方镜像Docker Official Images项目中的一员本文以仓库中 matomo/README.md 及其源文件 matomo/content.md 为核心系统讲解如何用 Docker 启动 Matomo、配置数据持久化、通过环境变量完成安装向导以及使用官方日志导入脚本。读完本文你将掌握从一条docker run命令到完整可用的 Matomo 分析实例的全套实战技能。Matomo原名 Piwik是什么Matomo 是一个开源、可自托管的网站/应用分析平台其核心卖点不止于强大的分析能力自由开源软件源码开放可自由使用与二次开发100% 数据所有权数据完全保存在你自己的服务器上不依赖第三方云服务用户隐私保护支持匿名化、GDPR 合规等隐私友好特性以用户为中心的洞察提供访问者行为、来源、转化等维度分析可定制、可扩展支持插件体系与 API可按需扩展功能。在 Docker 官方镜像体系中matomo镜像由 Matomo 社区贡献者维护见 matomo/maintainer.md并在 Docker Hub 的分类中归属于monitoring-and-observability监控与可观测性见 matomo/metadata.json。镜像标签与架构支持官方matomo镜像当前主要提供三类标签基于 Matomo 5.14.0标签组说明5.14.0-apache/5.14-apache/5-apache/apache/5.14.0/5.14/5/latest基于 Apache mod_php 的默认镜像内置 Web 服务器latest指向该系列5.14.0-fpm/5.14-fpm/5-fpm/fpm仅含 PHP-FPM需要搭配单独的 Nginx/Apache 反向代理使用5.14.0-fpm-alpine/5.14-fpm-alpine/5-fpm-alpine/fpm-alpine基于 Alpine Linux 的 FPM 变体镜像体积更小在架构支持上官方镜像覆盖了amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x共九种架构可以按需拉取对应平台的镜像。这些标签列表并不是手工维护在文档中的而是由 .template-helpers/generate-dockerfile-links-partial.sh 通过bashbrew从 official-images 的 library 清单中动态抓取的——文档中标注的 Dockerfile 链接直接对应apache、fpm、fpm-alpine三套构建目录。快速上手一条命令启动 Matomo最简单的方式是直接运行docker run -d --link some-mysql:db matomo这行命令的前提是你已经先启动了一个合适的 MySQL 或 MariaDB 数据库容器例如some-mysql并通过--link将其以别名db暴露给 Matomo 容器。Matomo 容器启动后会自动进入 Web 安装向导流程。提示--link属于 Docker 的遗留特性legacy 网络连接方式新版实践更推荐使用自定义网络 容器名解析例如docker network create matomo-net后让 Matomo 与数据库容器加入同一网络访问数据库时使用服务名。官方 README 中的最小示例仍以--link写法为准两种方式对本文的安装向导配置同样适用。数据持久化让分析数据不随容器消失默认情况下容器内文件系统是临时的。Matomo 的 Web 根目录是/var/www/html其中包含站点代码以及运行期生成的配置、插件、上传资源等必须通过 Docker volume 持久化否则容器重建后数据会丢失。docker run -d -p 8080:80 --link some-mysql:db -v matomo:/var/www/html matomo这条命令相比上一条增加了两个关键点-p 8080:80将容器内 Apache 的 80 端口映射到宿主机 8080 端口之后通过http://localhost:8080访问-v matomo:/var/www/html创建并挂载一个名为matomo的命名卷用于持久化 Matomo 应用数据。除了应用数据卷Matomo 的数据库数据访问日志、配置等默认存放在你自建的 MySQL/MariaDB 容器中生产环境请同样为该数据库容器配置持久化卷。Matomo 安装向导与数据库配置容器启动后浏览器访问映射端口即可进入配置向导页面。其中Database Setup数据库设置步骤是关键——如果你按照官方 Compose 示例即数据库容器以服务名db提供运行请填写Database Server数据库服务器dbLogin登录名对应MYSQL_USER环境变量的值Password密码对应MYSQL_PASSWORD环境变量的值Database Name数据库名对应MYSQL_DATABASE环境变量的值其余选项保持默认即可继续之后创建超级管理员super user账号完成安装。除了向导页手动填写官方镜像还支持通过环境变量预先配置 Matomo 数据库连接这些变量会被 Matomo 的配置系统读取并写入config/config.ini.php环境变量作用MATOMO_DATABASE_HOST数据库服务器主机名/IP对应向导中的 Database ServerMATOMO_DATABASE_ADAPTER数据库适配器/驱动类型决定使用哪种 PDO 驱动连接数据库MATOMO_DATABASE_TABLES_PREFIXMatomo 数据表的统一前缀便于与同库其他应用的表区分MATOMO_DATABASE_USERNAME数据库登录用户名MATOMO_DATABASE_PASSWORD数据库登录密码MATOMO_DATABASE_DBNAME要使用的数据库名称例如docker run -d -p 8080:80 \ -v matomo:/var/www/html \ -e MATOMO_DATABASE_HOSTdb \ -e MATOMO_DATABASE_USERNAMEmatomo \ -e MATOMO_DATABASE_PASSWORDsecret \ -e MATOMO_DATABASE_DBNAMEmatomo \ matomo同时PHP 的内存上限也可以通过环境变量调整PHP_MEMORY_LIMIT例如-e PHP_MEMORY_LIMIT512M。当站点访问量较大或启用较多插件时适当调高该值可以避免 PHP 内存不足如Allowed memory size exhausted错误。Docker Compose 与日志导入官方 Docker 仓库的.examples目录中提供了最小可用的 Docker Compose 编排示例包含 Matomo 应用 数据库服务的完整定义适合作为生产环境的起点。需要说明的是本文仓库docs是 Docker 官方镜像的文档仓库镜像本身的 Dockerfile 与 Compose 示例位于 Matomo 官方 Docker 源码仓库本文档目录仅承载镜像描述文本matomo/。使用官方日志导入脚本Matomo 附带一个用 Python 编写的访问日志导入脚本misc/log-analytics/import_logs.py可以离线解析 Apache/Nginx 等 Web 服务器日志并批量导入适合迁移场景或补充历史数据。按 README 的说明可以用一个一次性--rm容器来执行它借助--volumes-from复用 Matomo 应用容器的文件系统docker run --rm \ --volumes-frommatomo-app-1 \ --link matomo-app-1 \ python:3-alpine \ python /var/www/html/misc/log-analytics/import_logs.py \ --urlhttp://ip.of.your.matomo.example \ --loginyourlogin \ --passwordyourpassword \ --idsite1 \ --recorders4 \ /var/www/html/logs/access.log各参数含义--volumes-frommatomo-app-1挂载 Matomo 应用容器Compose 默认命名matomo-app-1的卷从而访问/var/www/html下的脚本与日志--urlMatomo 实例的访问地址--login/--password具备导入权限的 Matomo 用户凭据--idsite目标站点 ID1为第一个站点--recorders并行处理的记录器recorder数量用于控制导入并发度最后一个参数要导入的日志文件路径示例为/var/www/html/logs/access.log。镜像变体Image Variants如何选择matomo镜像提供多种风味flavor针对不同使用场景设计。matomo:version默认变体这是事实标准de facto的镜像。如果你不确定自己需要什么通常选它就对了。它既可以作为一次性容器挂载源码后启动即可运行应用也可以作为构建其他镜像的基础镜像。该变体基于 Apache开箱即带 Web 服务器适合单容器快速部署。matomo:version-alpineAlpine 变体该变体基于 Alpine Linux 官方镜像。Alpine 的基础系统体积远小于大多数发行版基础镜像约 5MB因此最终镜像整体更瘦小。适用场景当最终镜像体积尽可能小是首要诉求时使用。主要注意点Alpine 使用musl libc而非glibc系列因此对 libc 依赖较深或假设较多的软件可能在使用中遇到兼容性问题。此外为了压缩体积Alpine 变体通常不带额外的相关工具如git、bash如果以此镜像为基础需要在自己的 Dockerfile 中自行安装所需软件包。选择建议追求小体积、熟悉 musl 生态选 Alpine 变体追求与 glibc 生态最大兼容、开箱即用选默认 Apache 变体已有独立反向代理架构选fpm变体。关于 GeoIP地理位置库镜像内曾内置 MaxMind 的 GeoLite 数据GeoIP 地理位置库用于地理维度分析。但 MaxMind 自 2019 年 12 月起对 GeoLite2 数据库的访问与使用方式进行了重大变更需要注册账号获取 license key 下载因此文档中对镜像自带 GeoLite 数据的表述已被划除。实际使用地理分析功能时请自行遵循 MaxMind 当前的数据获取与使用政策。许可证说明镜像内所包含软件Matomo 本体的许可证信息请查看 Matomo 官方仓库中的LEGALNOTICE文件见 matomo/license.md。需要留意的是与所有 Docker 镜像一样该镜像中可能还包含来自基础发行版的其他软件如 Bash 等以及主软件的直接或间接依赖它们各自适用不同许可证。使用预构建镜像时镜像使用方有责任确保对镜像内所有软件的使用均符合相关许可证要求。附本文档在仓库中的生成机制作为技术研究这里补充说明本文档的生产链路方便你在本仓库中继续深入matomo/content.md 是镜像长描述long description的唯一真源包含软件简介与如何使用两大板块而 matomo/README.md 头部明确标注了DO NOT EDIT、IT IS AUTO-GENERATED仓库根目录的 update.sh 会把content.md、matomo/maintainer.md、matomo/github-repo、matomo/metadata.json 等文件与 .template-helpers/template.md 模板组合替换%%CONTENT%%、%%LOGO%%、%%TAGS%%、%%ARCHES%%、%%LICENSE%%等占位符最终生成matomo/README.md其中Supported tags章节由 .template-helpers/generate-dockerfile-links-partial.sh 调用bashbrew从 official-images 清单抓取标签并渲染Supported architectures章节由 .template-helpers/arches.sh 生成Image Variants章节则来自 .template-helpers/variant.md 与 .template-helpers/variant-alpine.md。理解这条生成链路后你就能明白本文所有标签、架构、环境变量与使用示例均直接来源于 Docker 官方镜像仓库的可验证文档与脚本可以放心作为部署 Matomo 的参考依据。赞分享文档【免费下载链接】docsDocumentation for Docker Official Images in docker-library项目地址https://gitcode.com/gh_mirrors/docs/docs点击查看免费下载相关推荐NocoBase 内网离线安装完整指南镜像导出、导入与无 Docker 环境部署NocoBase 内网离线安装完整指南镜像导出、导入与无 Docker 环境部署 内网air gap环境无法访问公网时NocoBase 的安装需要提前在低代码后端前端人工智能AI 应用工作流自动化NumPy 1.26.3 补丁版本解析f2py 回归修复、SIMD 与随机状态安全的维护实践NumPy 1.26.3 补丁版本解析f2py 回归修复、SIMD 与随机状态安全的维护实践 本文基于 NumPy 官方发布的 1.26.3 版本变更日志聚文档mitmproxy 官方 Docker 镜像完全指南CA 持久化、三种工具形态与安全使用mitmproxy 官方 Docker 镜像完全指南CA 持久化、三种工具形态与安全使用 mitmproxy 仓库在 release/docker https网络安全网络开发工具接口测试上一篇Wasmer 1.0 迁移指南从 0.x 到 1.x 的 API 重写、引擎架构与实战改造下一篇探索FPGA的世界《FPGA应用开发和仿真》项目推荐创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考