Docker容器部署Matomo

这篇具有很好参考价值的文章主要介绍了Docker容器部署Matomo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

⭐️主要步骤:数据卷挂载 -->  创建MySQL容器 -->  创建一个带有环境变量设置的Matomo容器

docker volume create matomo_data

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

docker run -d --name matomo -p 8093:80 -v matomo_data:/data --link mysql -e MATOMO_DATABASE_USER=root -e MATOMO_DATABASE_PASSWORD=123 matomo

🦀️实际上只需要在命令行运行以上这3个命令就够了,下面是每个部分的详细解释:

🦕部署Matomo容器需要进行以下配置:

1. 端口映射:您需要将容器内部的80端口映射到主机上的一个端口,以便从Web浏览器中访问Matomo。可以使用以下命令将容器的80端口映射到主机的8093端口:

docker run -d --name matomo -p 8093:80 matomo

2. 数据卷挂载:Matomo需要存储分析数据和配置信息。您可以通过创建一个数据卷来挂载到容器中,以便将数据保存在主机上。可以使用以下命令创建一个数据卷:

docker volume create matomo_data

然后,在创建容器时,可以将数据卷挂载到容器的/data目录中:

docker run -d --name matomo -p 8093:80 -v matomo_data:/data matomo

3. 数据库配置:Matomo需要连接到一个数据库来存储分析数据。您可以使用MySQL或MariaDB等关系型数据库。创建MySQL容器时,您需要指定MySQL root用户的密码,可以使用以下命令创建一个MySQL容器:

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

然后,在创建Matomo容器时,可以使用`--link`参数将Matomo容器连接到MySQL容器:

docker run -d --name matomo -p 8093:80 -v matomo_data:/data --link mysql matomo

4. 环境变量设置:您可以设置一些环境变量来配置Matomo容器的行为。例如,您可以使用`MATOMO_DATABASE_USER`和`MATOMO_DATABASE_PASSWORD`这2个环境变量,来指定连接到MySQL数据库所需的用户名和密码。您可以使用以下命令来创建一个带有环境变量设置的Matomo容器:

在创建Matomo容器时,您需要使用`--link`参数将Matomo容器连接到MySQL容器,并将`MATOMO_DATABASE_USER`和`MATOMO_DATABASE_PASSWORD`环境变量设置为连接到MySQL所需的用户名和密码。例如,如果您在创建MySQL容器时使用的是`123`作为root用户的密码,您可以使用以下命令创建一个带有环境变量设置的Matomo容器:

docker run -d --name matomo -p 8093:80 -v matomo_data:/data --link mysql -e MATOMO_DATABASE_USER=root -e MATOMO_DATABASE_PASSWORD=123 matomo

在这个命令中,我们将`MATOMO_DATABASE_USER`设置为`root`,因为我们使用的是MySQL的root用户,将`MATOMO_DATABASE_PASSWORD`设置为`123`,这是我们在创建MySQL容器时指定的root密码。

这些是配置Matomo容器所需的一些基本设置。您可以根据需要进行进一步的定制和配置。建议查看Matomo文档以获取更多详细信息。请注意,在生产环境中,您应该避免在命令行中硬编码密码,而应该使用安全的方法来传递和存储密码,例如使用密码文件或Vault等安全工具。

📖我的询问过程:

docker容器部署moatomo --> 为什么我无法访问? ---> Matomo容器需要配置哪些 --->  MATOMO_DATABASE_USER和MATOMO_DATABASE_PASSWORD我该填些什么?

😊访问本地8093端口,就可以看见页面了,如:http://localhost:8093/

matomo docker,运维,docker,mysql,容器

❓Matomo要我填数据库服务器,它给了个示意例子:127.0.0.1,请问我该填什么?

当您使用Matomo时,您需要将其配置为连接到您的MySQL数据库服务器。如果您在Docker容器中运行MySQL服务器,则可以使用该容器的IP地址作为Matomo的数据库服务器。

在Docker容器中,每个容器都有自己的IP地址。如果您使用的是默认的Docker网络模式,则可以使用MySQL容器的名称作为其主机名(Hostname)。例如,如果您在创建MySQL容器时使用的名称是mysql,则可以在Matomo的配置中将其数据库服务器配置为mysql

如果您需要将Matomo连接到不同的Docker网络中的MySQL容器,则需要使用相应的Docker网络名称和容器名称来设置数据库服务器。例如,如果您将MySQL容器连接到名为my_network的Docker网络中,并使用名称mysql来创建MySQL容器,则可以在Matomo的配置中将其数据库服务器配置为mysql.my_network

如果您要连接到不在Docker中运行的MySQL服务器,则需要使用该服务器的IP地址或主机名来设置数据库服务器。如果您的MySQL服务器在本地主机上运行,则可以使用127.0.0.1localhost作为数据库服务器。但是,请注意,如果您的MySQL服务器在另一台机器上运行,则需要使用该机器的IP地址或主机名来设置数据库服务器。

--数据库设置
数据库服务器:
mysql
账号:
root
密码:
123
数据库名称:
matomo
数据库前缀:
matomo_
适配器:
PDO\MYSQL

🤔️使用matomo的时候产生异常

matomo docker,运维,docker,mysql,容器

⚠️由于我是用docker拉的matomo镜像资源,并且在上面部署的matomo容器,而不是从官网拉下来的matomo包,所以我要到docker中matomo容器的config文件夹里去改config.ini.php这个文件。如果是去从官网拉下来的包的话,去解压缩之后的matomo包里找config文件夹下config.ini.php这个文件去修改就好了。当然了,你在通过命令进入matomo容器之后也可以用ls命令罗列出matomo容器下的所有文件进行查看。如下所示:

matomo docker,运维,docker,mysql,容器

🔢具体解决步骤:

1、查看matomo在容器上的名称NAMES,在终端运行以下命令可以列出所有正在运行的容器

docker ps

可以看到,我的IMAGE为matomo的NAMES为matomo

matomo docker,运维,docker,mysql,容器

 2、进入matomo容器,把下面的matomo_name换成你的matomo在容器上的名称NAMES

docker exec -it matomo_name bash

我的就是matomo,那我就要输入:

docker exec -it matomo bash

3、再在matomo容器里,查找Matomo配置文件的默认路径。通常情况下,Matomo配置文件位于容器内的/var/www/html/config/config.ini.php路径下。您可以通过以下命令在容器内部运行下列命令,查看该文件:

cat /var/www/html/config/config.ini.php

4、在docker内安装vim编辑器,以方便修改config.ini.php文件,如果你已经有vi、vim或者nano了,那你就不用再安装了。执行以下命令,更新一下apt-get,并且安装vim

apt-get update && apt-get install vim

⚠️如果下载不动或者老是失败的话,可以将默认软件源换成清华大学的镜像源,在终端里输入

sed -i 's/http:\/\/deb.debian.org\/debian/https:\/\/mirrors.tuna.tsinghua.edu.cn\/debian/g' /etc/apt/sources.list

PS:也可以先执行update然后再执行install

5、进入config.ini.php文件

vim /var/www/html/config/config.ini.php

6、按照异常的提示,在config.ini.php文件里添加下行

...

[General]
trusted_hosts[] = "localhost:8093"
...

7、最后按ESC键,:wq保存退出,回到matomo的页面刷新就好了!

matomo docker,运维,docker,mysql,容器

 ⌚️后续文章来源地址https://www.toymoban.com/news/detail-764751.html

到了这里,关于Docker容器部署Matomo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2-Docker-应用-多容器部署Django+Vue项目(nginx+uwsgi+mysql)

    基于Linux CentOS 7系统(虚拟机),使用Docker,多容器部署Django+Vue项目 整体部署用到了:Django+Vue+nginx+mysql+uwsgi 先每一个容器单独部署,最后用Docker compose 语法整合,统一部署 参考文章:https://blog.csdn.net/qq_45445505/article/details/135563784 章标题:Docker介绍 节标题:Docker安装 总结梳

    2024年03月10日
    浏览(103)
  • 【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失

    最近公司有个甲方项目参加竞赛,要求在(基于kubeflow/arena)平台上部置应用,可以将MySQL打包在应用一起,也可以分开部署,没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。 经过本人在Linux虚机中启动MySQL容器导入数据再 docker commit 出镜像部署到平台上

    2024年02月11日
    浏览(39)
  • docker - 常用容器部署命令大全(MySQL、MongoDB、Redis、RabbitMQ、ES、Kibana、Nacos、Sentine)

    目录 一、常用容器运行指令 MySQL Redis RabbitMQ ElasticSearch  kibana  Nacos Sentinel a)未持久化部署 b)持久化部署 a)未持久化部署: b)持久化部署:   a)为了 es 和 将来要下载的 kibana 进行互联,因此需要我们去创建一个网络. b) ES 部署 Ps:如果报错 \\\"Caused by: java.nio.file.Access

    2024年01月20日
    浏览(80)
  • 第七次作业 运维高级 docker容器进级版

    1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 (1)拉取相应镜像 (2)运行mysql:5.6容器 (3)运行owncloud容器 (4)查看并验证 之后在浏览器中输入ipaddress:8080 2、安装搭建私有仓库 Harbor (1)下载好harbor和docker-compose (2)上传到Linux服务器 (3)复制docker-compose并修改权限 (4)解压harbor (

    2024年02月12日
    浏览(57)
  • 使用Docker容器部署java运行环境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    环境:阿里云ECS服务器 1.1 安装工具 1.2 为yum源添加docker仓库位置 1.3 将软件包信息提前在本地索引缓存 (非必要,建议执行,可以提升yum安装的速度,报错去掉fast试试) 1.4 安装Docker 傻瓜式安装 点击y 1.5 启动Docker 1.6 设置开机自启动 1.7 安装完成后可以测试一下,是否安装成功

    2024年02月02日
    浏览(78)
  • K8S自动化运维容器化(Docker)集群程序

    1.什么是K8S K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container Schedul

    2024年02月10日
    浏览(69)
  • 使用docker-compose.yml快速搭建开发、部署环境(nginx、tomcat、mysql、jar包、各种程序)以及多容器通信和统一配置

    image 镜像名称,可去镜像市场查找自己需要的 hostname 容器内服务名 container_name 容器名 volumes 可以把自己电脑的路径映射到容器中的文件夹中 networks 写同一个网络可以让容器之间进行通信 启动 在项目根目录的命令行中输入 docker-compose up 停止 在项目根目录的命令行中输入 d

    2024年02月12日
    浏览(56)
  • K8S:K8S自动化运维容器Docker集群

    (1)K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 (2)版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    浏览(82)
  • K8S:K8S自动化运维容器化(Docker)集群程序

    目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Master组件 ①Kube-apis

    2024年02月12日
    浏览(70)
  • 小白到运维工程师自学之路 第六十二集 (docker持久化与数据卷容器)

    一、概述 Docker持久化是指将容器中的数据持久保存在主机上,以便在容器重新启动或迁移时不丢失数据。由于Docker容器是临时和可变的,它们的文件系统默认是易失的,这意味着容器中的任何更改或创建的文件都只存在于此容器的生命周期内。但是,在许多场景中,我们希望

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包