Docker执行段错误无法操作,如何删除MySQL备份文件释放空间?
解决Docker因磁盘空间不足导致Segmentation Fault及备份文件删除问题
步骤1:确认宿主机磁盘状态
打开Windows资源管理器,检查Docker安装所在磁盘(多为C盘)的剩余空间,确认是否因空间耗尽引发问题。
步骤2:删除容器内的过大备份文件
方式A:直接进入容器操作(若docker exec仍可用)
如果docker exec -it mysql bash能正常执行,进入容器后执行:
rm -f ./[DB_Name].sql
注意:替换
[DB_Name]为你的实际数据库名,备份文件默认生成在容器内当前工作目录(通常为/root或/),如果备份时指定了路径,需对应调整删除命令的路径。
方式B:通过WSL2后端直接访问容器文件系统(当所有Docker命令报错时)
Windows 10的Docker默认采用WSL2后端,容器文件系统存储在docker-desktop-data发行版中:
- 打开Windows终端,执行以下命令查看WSL发行版状态:
确保wsl --list -vdocker-desktop-data处于运行状态。 - 创建挂载目录并挂载WSL磁盘:
mkdir C:\wsl-mount wsl --mount docker-desktop-data --vhd --mount-point C:\wsl-mount - 定位mysql容器的文件系统:
容器文件路径为C:\wsl-mount\var\lib\docker\containers\[容器ID]\rootfs,其中[容器ID]可通过目录名称(长字符串格式)判断,对应目标mysql容器。 - 在容器的
rootfs目录下找到备份文件(如/root/[DB_Name].sql或/[DB_Name].sql),直接删除该文件。 - 完成后卸载挂载:
wsl --unmount docker-desktop-data
步骤3:重启Docker服务恢复正常
- 按下
Win+R输入services.msc打开服务管理器,找到Docker Desktop Service,右键选择重启。 - 或直接在Docker Desktop界面点击重启按钮。
步骤4:验证恢复效果
重启后执行docker ps,确认命令正常执行,Docker服务恢复运行。
内容的提问来源于stack exchange,提问作者Susmita Saha
相关产品推荐
相关产品推荐

