Docker容器挂载本地SQL文件未显示问题排查
问题分析与解决方法
核心问题可能出在这几个地方:
容器内路径找错了
MariaDB容器默认登录用户是mysql,其默认家目录是/var/lib/mysql,不是你挂载的/home。进入容器后直接执行ls只会显示/var/lib/mysql下的内容,你需要切换到/home目录查看,或者直接执行:docker exec -it mariadb ls /home挂载路径的相对路径验证
你docker-compose里的./database是相对于docker-compose.yaml所在目录的相对路径。从你的文件夹结构看,两者是同级(都在根目录下),但要确保你是在docker-compose.yaml所在目录执行的docker-compose up命令。如果在其他目录执行,相对路径会失效,导致挂载失败。权限问题
宿主机的/database目录或sql.sql文件权限可能限制了容器内用户读取。MariaDB容器以mysql用户(UID=999)运行,你可以调整宿主机的权限:chmod -R 755 /database chown -R 999:999 /database验证挂载是否生效
可以通过命令查看容器的挂载状态,确认宿主机路径和容器路径是否正确关联:docker inspect mariadb | grep -A 10 "Mounts"输出中应该能看到
Source为/database,Destination为/home,且Mode为rw。
内容的提问来源于stack exchange,提问作者Max Pattern
相关产品推荐
相关产品推荐

