0
点赞
收藏
分享

微信扫一扫

INTERNAL ERROR: cannot create temporary directory! /dev/mapper/centos-root满了

q松_松q 2024-09-22 阅读 30

一.问题现象 磁盘空间不足

[root@dockerfile harbor]# docker-compose up -d
[2216] INTERNAL ERROR: cannot create temporary directory!
[root@dockerfile harbor]# docker-compose up stop
Failed to write all bytes for cryptography/hazmat/bindings/_openssl.abi3.so
fwrite: No space left on device

INTERNAL ERROR: cannot create temporary directory!  /dev/mapper/centos-root满了_docker

二.查找大文件

#根目录下找到是docker文件
cd /
du -sh *
du -sh /var/lib/docker/
#比较大的文件夹
21G	overlay2    #多层存储 每个容器对应一个文件夹,主要存储 容器镜像 容器数据
25G	volumes     #持久化存储 每个容器与宿主机之间共享的数据
或  containers  #运行容器的数据 容器的元数据 文件系统

#删除没用的镜像文件 或容器中的日志文件
docker rmi -f 镜像
#查看空间大小
df -h

三.磁盘扩容

扩容/dev/mapper/centos-root

#vmware新增加一块磁盘 查看
fdisk -l
lsblk
#都看不到,新增加的磁盘的?
#查看主机总线型号 一般host0 host1 host2
ls /sys/class/scsi_host/
#重新扫描scsi总线
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
#再次看盘 发现磁盘/dev/sdb
fdisk -l
#创建pv
pvcreate /dev/sdb
#扩展vg
vgextend centos /dev/sdb
#查看vg 空闲有50G空间
vgs
#查看lv 要扩展的是root
lvs
#扩展lv
lvextend -L +50G /dev/mapper/centos-root
#扩展xfs文件系统的大小
xfs_growfs /dev/mapper/centos-root
#查看空间大小 发现已扩容50G
df -h

四. 规避/var/lib/docker/overlay2 空间被占满

0.提前规划好磁盘空间,将docker应用部署在空间比较大的磁盘目录

1.监控磁盘空间,及时扩展磁盘空间

2.持久化存储使用外部存储

3.自动化清理脚本,清理日志及临时文件

4.配置docker的工作目录

#/path/to/your/docker-data替换为你希望Docker存放镜像、容器等数据的目录路径
#/path/to/your/docker-logs替换为你希望存放Docker日志的目录路径
#编辑/etc/docker/daemon.json
{
  "data-root": "/path/to/your/docker-data",
  "log-dir": "/path/to/your/docker-logs"
}
#重启docker
systemctl restart docker

5.清理不再使用的容器、镜像、卷或网络(谨慎操作)

#清理未使用的镜像和悬空镜像
docker image prune
#清理未使用的卷
docker volume prune
#清理未使用的网络
docker network prune


举报

相关推荐

0 条评论