一、
docker+gitlab,往gitlab push 镜像时报错 磁盘空间不足
1、删除老镜像
docker rmi docker images|grep 镜像名|awk '{print $3}'
2、删除dangling镜像
docker images -q -f dangling=true |xargs -r docker rmi
3、删除项目镜像日志
4、删除容器日志
df -h 查看磁盘占用情况
进入占用高的目录下(此次问题centos-root根分区容量爆满,原因容器占用68G)
du -h -x --max-depth=1 查看占用较高的文件
a)查看容器下数量,与在运行容器数量比对,是否存在不用的容器,看看是否能删除(确保可以删除,所以一般先清理容器日志)
docker ps 查看所有运行中容器
docker system prune 清理对象:
已停止的容器
未被任何容器使用的卷
未被任何容器所关联的网络
所有悬空的镜像
b)清理容器日志
进入容器,查看超过100M的文件
find ./ -type f -size +100M -print0 2>/dev/null | xargs -0 du -h | sort -nr
删除日志
“> ./文件名”
二、
容器日志大小以及数量限制
vim /etc/docker/daemon.json
添加
{
“log-driver”:“json-file”,
“log-opts”:{“max-size”:“100m”,“max-file”:“2”}
}
systemctl daemon-reload
systemctl restart docker
只对新建容器有效
进入容器:docker exec -it <docker_name> /bin/bash
三、
开启定时任务 crontab 检查是否安装
a)安装
[root@CentOS ~]# yum -y install vixie-cron
[root@CentOS ~]# yum -y install crontabs
说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
b)
# service crond start
# service crond stop
# service crond restart
# service crond reload
# service crond status
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
加入开机自动启动:
chkconfig crond on
vi /etc/crontab
如果要设置每天的10点执行一次,格式如下
- 10 * * * root /bak/bakmysql/backup.sh
四、磁盘扩容(网上找的,此次问题服务器已查看无法扩容,以下并未实践)
扩展根分区
VMware分配空间
选中虚拟机->虚拟机设置->添加=》硬盘->添加15G,可以看看第一张图的硬盘1是SCSI(0:0)新加的硬盘2是SCSI(0:1)
先看一下现有磁盘情况:
fdisk -l
对新磁盘进行分区:
fdisk /dev/sdb
在fdisk的交互模式中,依次输入:
n --创建新分区
p --创建主分区
<回车> --默认分区编号
<回车> --默认起始扇区位置。
<回车> --默认结束扇区位置。
w --写入分区表
这样就把整个磁盘分成了一个区。
再看一下现有磁盘情况:
fdisk -l
已经多出了一个新分区:
将新分区用于扩展/root
先看一下卷分组:
vgdisplay -v
可以看到当前卷分组名为"centos_h32"。
为之前新增的分区创建物理卷:
pvcreate /dev/sdb1
查看结果:
pvdisplay
扩展卷分组,"centos_h32"是vgdisplay命令查到的卷分组名:
vgextend centos_h32 /dev/sdb1
提示成功扩展。
下面查看一下逻辑卷:
lvdisplay
可以看到/dev/centos_h32/root目前的LV Size是17.47GiB。
下面扩展逻辑卷/dev/centos_h32/root:
lvextend -L +15G /dev/centos_h32/root
注:+15G是我们新增加的分区大小。
扩展后,还要执行一步 将文件系统扩大:
xfs_growfs /dev/centos_h32/root
扩展完成。
事情多了容易忘记 记一下笔记