在MariaDB Docker中禁用skip_name_resolve

xlpyo6sf  于 2022-11-08  发布在  Docker
关注(0)|答案(1)|浏览(91)

MariaDB官方文档(10.6.5-focal)在其my.cnf文件中包含以下内容:

[mariadbd]
skip-host-cache
skip-name-resolve

它启用skip-name-resolve模式。我不想启用此模式,但找不到方法。
我尝试过的事情:
一)我在主机上有一个配置文件,并将其装载到/etc/mysql/conf.d

[mariadbd]
skip-name-resolve=OFF

但MariaDB仍以skip_name_resolve模式启动。
二)我在运行Docker时将以下内容添加到命令行:

docker run ... mariadb:10.6.5-focal --skip-name-resolve=0

不过,MariaDB仍以skip-name-resolve模式运行。
三)它是一个只读变量,也不能使用SQL进行设置:

MariaDB [(none)]> SET GLOBAL skip_name_resolve=0;
ERROR 1238 (HY000): Variable 'skip_name_resolve' is a read only variable

有没有办法在不建立我自己的 Docker 形象的情况下禁用它?

egmofgnx

egmofgnx1#

正如Boris the Spider所建议的那样,可以从主机挂载my.cnf。我将my.cnf文件从映像复制到主机,删除了这两个选项,然后在运行时挂载它。

docker run ... -v /HOST/PATH/my.cnf:/etc/mysql/my.cnf ...

这不是很理想,因为如果官方映像更改了my.cnf文件,那么我需要记住再次将文件复制到主机(额外的维护成本)。但这似乎比自己重新创建映像更好。

相关问题