1、数据卷挂载失败
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看卷挂载配置 docker inspect --format '{{json .Mounts}}' <容器ID> | jq . # 检查数据卷是否存在 docker volume inspect <卷名称> # 检查宿主目录权限 ls -ld <宿主目录> chown -R <用户ID>:<组ID> <宿主目录> # 与容器内用户匹配 # 检查挂载模式冲突 # 确保不是同时挂载同一目录到多个容器的读写模式 # 临时禁用SELINUX上下文检查 docker run -v <宿主目录>:<容器目录>:z <镜像名> # 添加:z标记 |
2、 数据卷损坏或丢失
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看数据卷存储路径 docker volume inspect --format '{{.Mountpoint}}' <卷名称> # 检查数据卷文件系统 ls -l <卷的挂载点> df -h <卷的挂载点> fsck <卷的设备路径> # 谨慎操作 # 从备份恢复数据卷 docker volume create <新卷名称> cp -r /backup/<卷备份>/* <新卷的挂载点>/ chown -R root:root <新卷的挂载点> # 根据需要调整权限 # 更换容器使用的卷 docker stop <容器ID> # 修改启动命令使用新卷 docker run -v <新卷名称>:<容器目录> ... |
3、存储容量不足
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看Docker存储使用情况 docker system df # 查看数据卷占用空间 docker volume ls -q | xargs -I {} docker volume inspect --format '{{.Name}} {{.Mountpoint}}' {} | while read -r name path; do du -sh path; echo "Volume: name"; done # 清理未使用的数据卷 docker volume prune -f # ext4文件系统扩展存储(LVM示例) lvextend -L +10G /dev/docker/vg_data resize2fs /dev/docker/vg_data |