【问题标题】:Docker 2.4 on macos mounts volumes not properly when "use gRPC for file sharing" enabled启用“使用 gRPC 进行文件共享”时,macOS 上的 Docker 2.4 无法正确挂载卷
【发布时间】:2021-01-18 12:35:30
【问题描述】:

在我将 macos docker 应用程序更新到最新 (2.4.0.0) 版本后,当启用“使用 gRPC 进行文件共享”并且 /var/lib/mysql 时,我无法在容器中启动 mysql 服务/ 目录作为卷安装在我的本地计算机上。我在 mysql error.log 中得到了这个错误:

Different lower_case_table_names settings for server ('2') and data dictionary ('0').

幸运的是,当在 docker 应用程序设置/首选项中未选中“使用 gRPC 进行文件共享”选项时,我的持久化 /var/lib/mysql/ 卷不会在容器启动/构建和容器时造成任何问题工作正常。

但是如何在启用这个新功能的情况下正确地保存我的 mysql 数据呢?我认为它带来了一些性能优势(?)

here 所述的步骤不起作用。当我启动容器时启用了 gRPC 选项和一个空的 mysql 数据库,然后导入一个 sql 转储,然后一切正常,但是一旦我将 /var/lib/mysql/ 作为一个卷,我就会再次收到此错误。

我尝试仅隔离特定数据库 (/var/lib/mysql/mydb) 并将其挂载为卷而不是整个 mysql 目录。事实上,mysql 服务器正常启动,但现在我的数据库无法正常工作 - 查询不输出任何内容/在“mydb”数据库中找不到任何数据或表/列。


【问题讨论】:

    标签: mysql macos docker docker-compose mysql-8.0


    【解决方案1】:

    这是一个应用程序的 bug,需要 Docker 解决。请使用github issues 获取这些信息。已经为此打开了两个问题,因此最好遵循它们和/或提供其他步骤以在您的场景中重现该问题:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 2018-05-31
      相关资源
      最近更新 更多