在 docker-compose build 上启动 mariaDB 时出错

Error starting mariaDB on docker-compose build

执行图像 rm、卷 rm 和 docker 修剪后,我在使用 docker-compose

启动 mariaDB 时遇到此错误

这是数据库组合部分 (yml):

    mariaDB:
    image: 'mariadb:latest'
    environment:
        - MYSQL_ROOT_PASSWORD=root_password

错误日志:

mariaDB_1 | 2022-05-27 20:14:42+00:00 [注意] [入口点]:MariaDB 服务器的入口点脚本 1:10.8.3+maria~jammy 已启动。

mariaDB_1 | 2022-05-27 20:14:42+00:00 [错误] [入口点]:

mariadbd 在尝试检查配置时失败

mariaDB_1 |命令是:mariadbd --verbose --help --log-bin-index=/tmp/tmp.JMRNT5ajM6

mariaDB_1 |无法初始化定时器 services_mariaDB_1 已退出,代码为 1

提前致谢!

MariaDB 的最新 docker 容器和最新标签也存在同样的问题。在 docker-compose 中固定到 10.8.2 (mariadb:10.8.2) 修复了这个 issue.db:

这是我的新图像系列,在 10.8.2 中它一直有效。在 mariadb 问题跟踪器中已经进行了讨论,因此他们正在努力解决这个问题。

图片:mariadb:10.8.2

不幸的是,Dekyi 遗漏了一些重要信息:10.8.2 在技术上不是生产安全的。 10.8.2 是候选版本,10.8.3 是 10.8 系列中唯一的通用版本。 10.8.2 可以用于测试,可能 可以用于生产,但在 10.8.2 和 10.8.2 之间仍然存在一些错误修复。如果您需要保证稳定性,请继续使用 10.7(10.7.4 是最新的稳定版),直到您可以升级 docker(见下文)。

现在开始讨论这个问题 - 更多信息在此处:https://github.com/MariaDB/mariadb-docker/issues/434。问题似乎是 10.8.3 使用 Debian Jammy 作为基础映像,而不是 Focal,并且 运行 在旧版本的 docker 上使用 Jammy 东西存在一些问题。根据 GH 上的评论者,docker 版本 20.10.10+ 是必需的,所以 运行 docker --version 看看你是什么 运行ning.

最好的解决办法是升级Docker。如果你不能这样做,那么 10.8-focal 标签当前指向 10.8.2 - 不过在使用它之前请参阅上面的评论。 There are also some flags that might make 10.8.3 start successfully,您必须覆盖入口点。

如果一切都失败了,请坚持使用 10.7,直到您可以升级 docker,或者直到他们发布 10.8.3-focal 图像(应该会发布,Docker 只是需要一段时间更新官方图片)。