如何删除docker容器产生的日志?docker有很多的日志插件,当容器运行时,docker会在宿主机上创建一个该容器相关的文件,然后将容器产生的日志转存到文件下。
docker容器日志一般存放在/var/lib/docker下面,可使用如下命令查看各个日志的文件大小
ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
如何清理日志
如果docker容器正在运行,那么使用rm -rf 方式删除日志后,通过df -h会发现磁盘空间并没有释放
原因:在Linux或者Unix系统中,通过rm或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink),然而,如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
正确做法是
cat /dev/null > *-json.log
当然你也可以通过rm删除后重启docker
查看容器的日志可以通过docker logs命令
sudo docker logs -f -t --tail 行数 容器名
查看linux版本
cat /etc/redhat-release
rpm查看是否安装某软件包和安装、卸载
#查看
rpm -qa | grep docker
#安装
rpm -ivh container-selinux-2.107-3.el7.noarch.rpm
#卸载
rpm -e container-selinux-2.107-3.el7.noarch.rpm
快速删除mysql大表数据
#1,建立硬链接。
ln table.ibd table.idb.hdlk
#2,mysql执行drop table操作。
drop table if exists tablename;
#3,使用截断删除物理文件(好像有问题,待研究,可以直接使用rm -rf删除)
truncate -s 1024 * 1024 * 4 filename