如何正确配置Docker中的Mariadb HealthCheck,而无需拒绝警告? 我在我的docker-compose.yml中使用mariadb图像,我想根据建议添加健康检查。 MariaDB官方图像提供了我尝试使用的HealthCheck.sh脚本。但是,之后

问题描述 投票:0回答:0
脚本。但是,启动容器后,我在日志中遇到了以下警告:

2025-02-14  7:43:29 3 [Warning] Access denied for user 'root'@'::1' (using password: NO)

从我的研究中,我了解到

healthcheck.sh

创建了自己的用户,它并不是我传递给与Mariadb相关的容器的环境变量。为了解决这个问题,我创建了一个脚本
set_healthcheck_user.sh

以明确设置
/etc/mysql/healthcheck.cnf

的凭据。

#!/bin/bash

cat <<EOF > /etc/mysql/healthcheck.cnf
[client]
user=${MARIADB_USER}
password=${MARIADB_PASSWORD}
host=localhost
EOF
this往事工作,健康检查在没有警告的情况下成功。但是,我想知道是否有更好或更多的标准方法可以在不手动添加docker中配置MariadB健康检查。 where是我的
healthcheck.cnf
文件的一部分,该文件与数据库服务有关
docker-compose.yml

	

datadir(/var/lib/mysql)包含配置文件应存在于相当现代的容器中,因此不需要说明配置。 创建了Heatheck用户,因此它将独立于root用户。

如果您从较旧的datadir开始,则可以使用Mariadb_auto_upgrade = 1作为环境变量,如果缺少配置文件,将重新创建用户和配置文件。
    

docker docker-compose mariadb
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.