⭐️主要步骤:数据卷挂载 --> 创建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容器需要进行以下配置:
端口映射:您需要将容器内部的80端口映射到主机上的一个端口,以便从Web浏览器中访问Matomo。可以使用以下命令将容器的80端口映射到主机的8093端口:
docker run -d --name matomo -p 8093:80 matomo
数据卷挂载:Matomo需要存储分析数据和配置信息。您可以通过创建一个数据卷来挂载到容器中,以便将数据保存在主机上。可以使用以下命令创建一个数据卷:
docker volume create matomo_data
然后,在创建容器时,可以将数据卷挂载到容器的/data目录中:
docker run -d --name matomo -p 8093:80 -v matomo_data:/data matomo
数据库配置: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
环境变量设置:您可以设置一些环境变量来配置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要我填数据库服务器,它给了个示意例子: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.1
或localhost
作为数据库服务器。但是,请注意,如果您的MySQL服务器在另一台机器上运行,则需要使用该机器的IP地址或主机名来设置数据库服务器。
--数据库设置
数据库服务器:
mysql
账号:
root
密码:
123
数据库名称:
matomo
数据库前缀:
matomo_
适配器:
PDO\MYSQL
🤔️使用matomo的时候产生异常
⚠️由于我是用docker拉的matomo镜像资源,并且在上面部署的matomo容器,而不是从官网拉下来的matomo包,所以我要到docker中matomo容器的config文件夹里去改config.ini.php这个文件。如果是去从官网拉下来的包的话,去解压缩之后的matomo包里找config文件夹下config.ini.php这个文件去修改就好了。当然了,你在通过命令进入matomo容器之后也可以用ls命令罗列出matomo容器下的所有文件进行查看。如下所示:
🔢具体解决步骤:
查看matomo在容器上的名称NAMES,在终端运行以下命令可以列出所有正在运行的容器
docker ps
可以看到,我的IMAGE为matomo的NAMES为matomo
2、进入matomo容器,把下面的matomo_name换成你的matomo在容器上的名称NAMES
docker exec -it matomo_name bash
我的就是matomo,那我就要输入:
docker exec -it matomo bash
再在matomo容器里,查找Matomo配置文件的默认路径。通常情况下,Matomo配置文件位于容器内的/var/www/html/config/config.ini.php
路径下。您可以通过以下命令在容器内部运行下列命令,查看该文件:
cat /var/www/html/config/config.ini.php
在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
进入config.ini.php文件
vim /var/www/html/config/config.ini.php
按照异常的提示,在config.ini.php文件里添加下行
...
[General]
trusted_hosts[] = "localhost:8093"
...
最后按ESC键,:wq保存退出,回到matomo的页面刷新就好了!
⌚️后续
来源地址:https://blog.csdn.net/Cyrios_ykx/article/details/130387308