You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose中MariaDB磁盘卷绑定失效,命名卷正常问题求助

Docker Compose中MariaDB本地磁盘卷绑定失效问题修复求助

问题背景

在Mac M1设备上使用Docker Compose部署MariaDB时,绑定本地磁盘卷(已设置文件夹777权限)无法正常工作:Workbench连接时提示“Tables could not be fetched”,无法获取表数据,进而导致Keycloak实例无法启动。但使用Docker命名卷时,服务可正常运行。需要修复磁盘卷绑定问题以实现数据持久化备份。

失效的磁盘挂载配置

version: '3'

services:
  mysql:
    # image: docker.io/mariadb:11.0.2
    image: mariadb:latest
    environment:
      MARIADB_DATABASE: dbkc
      MARIADB_ROOT_PASSWORD: root
      MARIADB_PASSWORD: admin
      MARIADB_USER: admin
    ports:
      - 3306:3306
    volumes:
      - ~/Downloads/mysqldata:/var/lib/mysql

正常工作的命名卷配置

version: '3'

services:
  mysql:
    # image: docker.io/mariadb:11.0.2
    image: mariadb:latest
    environment:
      MARIADB_DATABASE: dbkc
      MARIADB_ROOT_PASSWORD: root
      MARIADB_PASSWORD: admin
      MARIADB_USER: admin
    ports:
      - 3306:3306
    volumes:
      - my-datavolume:/var/lib/mysql
    
volumes:
  my-datavolume:

关键日志信息

磁盘卷绑定模式下,MariaDB日志出现提示:
Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive

命名卷与磁盘卷的运行日志存在差异,导致数据库初始化或数据读取异常。

修复方案尝试

1. 修正本地目录的权限归属

容器内MariaDB默认以mysql用户(UID/GID通常为999)运行,仅设置777权限可能无法满足容器内用户的读写需求,执行以下命令调整本地目录权限:

sudo chown -R 999:999 ~/Downloads/mysqldata

2. 统一大小写敏感配置

Mac本地文件系统为大小写不敏感,而Docker命名卷使用的内部文件系统为大小写敏感,导致数据库配置不一致。在docker-compose.yml中添加环境变量强制指定lower_case_table_names=2:

services:
  mysql:
    # ... 其他配置不变 ...
    environment:
      # ... 原有环境变量 ...
      lower_case_table_names: 2

或者挂载自定义配置文件my.cnf:
创建my.cnf文件:

[mysqld]
lower_case_table_names=2

修改docker-compose.yml的volumes部分:

volumes:
  - ~/Downloads/mysqldata:/var/lib/mysql
  - ./my.cnf:/etc/mysql/conf.d/my.cnf

3. 清理本地目录残留数据

若本地目录存在之前的残留数据,可能导致初始化异常,先清空目录再重启容器:

rm -rf ~/Downloads/mysqldata/*
docker-compose down && docker-compose up -d

4. 检查Docker文件共享设置

打开Docker Desktop偏好设置,确认~/Downloads已添加到文件共享列表中,否则容器无法访问该本地目录。

内容的提问来源于stack exchange,提问作者MaduKan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:03:19