服务器出现报警信息,登录后发现docker容器把空间占满了,但是根据容器中的路径进去后发现存在的文件没有那么多,一直以为系统的问题,重启系统还是没有改变,网上的各种方法也试过docker system prune也用了,但是减少的空间太小了,看下面的资源:
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 99G 93G 1.8G 99% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs 1.8G 660K 1.8G 1% /run tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup tmpfs 365M 0 365M 0% /run/user/0 overlay 99G 93G 1.8G 99% /var/lib/docker/overlay2/bd9e9cf024aaffe1dc14cdec5cd908b7bb082121314d340c9f704ae0bd7e6c87/merged shm 64M 0 64M 0% /var/lib/docker/containers/79dcb3d23b30d84ce5f998d13a69df02d1dabd7ded33b2214bc8a00d99a1e847/shm tmpfs 365M 0 365M 0% /run/user/1001
显示的docker容器占用了93G,原本以为docker容器的日志问题,进入文件后
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# cd /var/lib/docker/overlay2/bd9e9cf024aaffe1dc14cdec5cd908b7bb082121314d340c9f704ae0bd7e6c87/merged [wolf@wulaoer.org🔥🔥🔥🔥 merged]# du -sh 976M . [wolf@wulaoer.org🔥🔥🔥🔥 merged]# du -sh * | grep G 1.4G bd9e9cf024aaffe1dc14cdec5cd908b7bb082121314d340c9f704ae0bd7e6c87 [wolf@wulaoer.org🔥🔥🔥🔥 merged]# du -hs /var/lib/docker/ 5.5G /var/lib/docker/
资源没有那么多,没有办法,只能把docker容器的路径进行修改一下,下面是修改方法:
[wolf@wulaoer.org🔥🔥🔥🔥 merged]# systemctl stop docker [wolf@wulaoer.org🔥🔥🔥🔥 merged]# vim /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=network.target Wants=docker-storage-setup.service Requires=docker-cleanup.timer [Service] Type=notify NotifyAccess=main EnvironmentFile=-/run/containers/registries.conf EnvironmentFile=-/etc/sysconfig/docker EnvironmentFile=-/etc/sysconfig/docker-storage EnvironmentFile=-/etc/sysconfig/docker-network Environment=GOTRACEBACK=crash Environment=DOCKER_HTTP_HOST_COMPAT=1 Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin ExecStart=/usr/bin/dockerd-current \ --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ --graph=/home/docker \ #默认没有,这里是添加的 --default-runtime=docker-runc \ --exec-opt native.cgroupdriver=systemd \ --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ --init-path=/usr/libexec/docker/docker-init-current \ --seccomp-profile=/etc/docker/seccomp.json \ $OPTIONS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ $ADD_REGISTRY \ $BLOCK_REGISTRY \ $INSECURE_REGISTRY \ $REGISTRIES ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=0 Restart=on-abnormal KillMode=process [Install] WantedBy=multi-user.target
修改后,需要先把/var/lib/docker/下的文件copy到/home/docker下,如果不copy过去就会清楚容器,这里一定要注意,先copy后启动,启动docker后检查没有问题在删除/var/lib/docker下的文件。我这里因为空间不足所以/home/docker是新加的磁盘挂载过去的,所以copy后实际没有那么多。
数据已经迁移了,磁盘空间还是没有减少,后来发现原来监控的日志太多了,不是/var/lib/docker目录下占有空间问题。问题解决了,但是找方法是错了,原本docker是没有问题的,但是报错就是因为docker占用空间的问题。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏