在 docker-compose 构建上启动 mariaDB 时出错

AdC*_*ros 10 mariadb docker

在执行完 images rm、volumes rm 和 docker prune 之后,我在使用 docker-compose 启动 mariaDB 时遇到此错误

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

    mariaDB:
    image: 'mariadb:latest'
    environment:
        - MYSQL_ROOT_PASSWORD=root_password
Run Code Online (Sandbox Code Playgroud)

错误日志:

mariaDB_1 | 2022-05-27 20:14:42+00:00 [注意] [入口点]:MariaDB Server 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

提前致谢!

Dek*_*kyi 21

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

这是我的新图像线,在 10.8.2 中它可以继续工作。在 mariadb 问题跟踪器中已经进行了讨论,因此他们正在研究这个问题。

图片:mariadb:10.8.2


Tre*_*oss 13

不幸的是,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并查看正在运行的内容。

最好的解决方案是升级 Docker。如果你不能这样做,有一个10.8-focal标签当前指向 10.8.2 - 不过在使用它之前请参阅上面的评论。还有一些标志可能会使 10.8.3 成功启动,您必须覆盖入口点。

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

编辑:这是关于问题根本原因的文章,其中包括一些其他可能的解决方法https://medium.com/nttlabs/ubuntu-21-10-and-fedora-35-do-not-work-on- docker-20-10-9-1cd439d9921

  • @reinierpost 我不确定你在说什么。我怎么知道什么?我认为它是相关的,因为我为所提出的问题提供了多种可能的解决方案,并附有解释和引用。五年后,这个特定于版本的问题将不再相关,因为 MariaDB 将是 10.8 之后的 5 个版本,并且 docker <20 目前已经 EOL。 (3认同)