Multipass虚拟机Docker中访问Mariadb时挂载目录消失求助
问题描述
- 环境:macOS系统,在Multipass虚拟机中运行docker daemon,本地文件挂载到虚拟机(通过SSH连接操作)
- 异常现象:执行
docker-compose up后其他容器正常运行,但Mariadb容器出现异常
Docker Compose配置
mysql: image: mariadb:10.6 user: mysql ports: - 3307:3306 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: default MYSQL_USER: default MYSQL_PASSWORD: secret volumes: - ./.docker/data/db:/var/lib/mysql
添加user: mysql是因为启动容器时会修改./docker/data/db的所有者
具体异常表现
- 容器启动后,检查容器内文件显示正常
- 访问数据库时,挂载的文件及挂载目录均消失
- 停止Mariadb容器后,文件又恢复显示
- 仅在虚拟机中运行docker-daemon时出现此问题,使用Docker Desktop时一切正常
疑问
- 为何访问数据库时挂载文件会消失?
- 如何解决该问题?
- 能否不使用Docker Volume,直接使用
./docker/data/db目录存储Mariadb数据?
内容的提问来源于stack exchange,提问作者anas abdur
相关产品推荐
相关产品推荐

