Docker Library – 官方 MariaDB 镜像维护

Docker Library 官方 MariaDB 镜像现在由 MariaDB Foundation 维护,至今已有六个月。如果您没有注意到,我们认为这是对我们的赞美,因为 Infosiftr 之前的 Docker Library 维护者已经做得很好。Infosiftr 仍然在版本发布前提供宝贵的质量保证。

有什么变化?

在我们社区的协助下,我们所做的工作是

时区

  • 延续了 Infosiftr 关于 MARIADB_* 环境变量名称的贡献,并添加了 MARIADB_INITDB_SKIP_TZINFO 以保持一致性。
  • 允许时区可以更改。

密码

  • 环境变量 MYSQL_ALLOW_EMPTY_PASSWORD 仅适用于 root 用户。它确实让一些期望其适用于非 root 用户的人感到困惑。MARIADB_ALLOW_EMPTY_ROOT_PASSWORD 是命名更改中的一个小改动,但它更清晰。
  • MARIADB_RANDOM_ROOT_PASSWORD/MYSQL_RANDOM_ROOT_PASSWORD 复杂性显著提高,这意味着启用 strict_password_validation 是可行的,因为密码满足复杂性要求。
  • MARIADB_ROOT_PASSWORD 和 MARIADB_PASSWORD 经过适当的 shell 和 SQL 转义,因此您可以在任何 SQL MODE 下使用任何密码,甚至包括末尾的新行,并且它都会被准确设置。我敢挑战您找到一个现在容器不接受的有效密码。

MariaDB 配置

安全、质量和测试

文档和命名

新功能

  • Zstd 压缩的 SQL 文件现在在 docker-entrypoint-initdb.d 目录中受支持
  • Libjemalloc 已安装,可以通过环境变量 LD_PRELOAD=/usr/lib/$debarch-linux-gnu/libjemalloc.so.2(在 MariaDB-10.2 镜像中是 .1)使用,其中 $debarch 是架构名称,例如 x86_64aarch64powerpc64les390x。使用此功能将使服务器使用 jemalloc 执行非 mmaped 内存分配。
  • 得益于 IBM 提供的硬件,已将 IBM Linux on Z、s390x 的支持添加至 10.5 和 10.6 镜像中。

接下来是什么?

接下来是

  • MDEV-25670 在容器中应用 mariadb_upgrade
  • MDEV-25434 在容器中包含一个健康检查脚本。但是,默认情况下不会启用它。
  • MDEV-25855 增加了对 Galera 复制和集群自动引导的支持
  • 您要求的任何其他可以稳定交付的功能

如果您有任何改进建议,请告诉我们。