docker虚拟机满了解决方法no space left on device( [ERROR] Unknown/unsupported storage engine: InnoDB )

今天生产环境数据库突然炸了
忙了一天,说磁盘不够用,第一时间是给虚拟机分配磁盘。但是还要挂载程序繁琐,建议清理服务器部分文件。
修复完后检查了一下,原来是日志满了,差点删除docker容器了
1.查看磁盘空间

du sh *

我看了一下我的磁盘空间containers和overlay2文件最大
我们进入到containers文件夹下面是我们所有的容器

du --max-depth=2 -h .

查看那个文件最大
进入到那个容器文件夹中找到日志文件夹

cat /dev/null > /var/lib/docker/containers/xxxx-josn.log

随后重新启动容器,启动容器的时候加上以上参数,防止以后容器日志内存溢出

 docker run --log-opt max-size=10m --log-opt max-file=3

虚拟机中分配完磁盘后,需要将其挂载到虚拟机的文件系统中才能使用。以下是在Linux系统上挂载磁盘的步骤:
要是像挂载也行,以下是具体步骤:
首先,在虚拟机中打开终端并登录到虚拟机。

使用以下命令检查系统中所有的磁盘及其分区:


Copy code
sudo fdisk -l

找到你要挂载的磁盘,并创建一个目录来作为挂载点。例如,如果要挂载的磁盘为/dev/sdb1,可以使用以下命令创建一个目录:

bash
Copy code
sudo mkdir /mnt/mydisk

这个目录可以随意设置,只要你记住了就可以了。

使用以下命令将磁盘挂载到刚刚创建的目录中:

bash
Copy code
sudo mount /dev/sdb1 /mnt/mydisk

在这个命令中,/dev/sdb1是要挂载的磁盘设备名称,/mnt/mydisk是挂载点目录。

如果你想让这个磁盘在每次系统启动时都自动挂载,可以将挂载信息添加到/etc/fstab文件中。例如,可以使用以下命令将磁盘挂载信息添加到fstab文件中:

bash
Copy code
sudo echo "/dev/sdb1 /mnt/mydisk ext4 defaults 0 2" >> /etc/fstab

这个命令会将挂载信息写入fstab文件中,这样系统在启动时会自动挂载这个磁盘。

请注意,上述命令中的文件系统类型ext4可能需要根据你的实际情况进行更改。如果你不确定要使用哪种文件系统类型,请咨询运维人员或者查阅相关文档。

你可能感兴趣的:(docker,linux,运维)