Docker运维管理

1、调整docker0的网段方式

sudo systemctl stop docker
通过命令route -n

查看docker0是否存在,若存在需先删除:

sudo ip link del docker0

vi /etc/docker/daemon.json 添加内容 "bip": "ip/netmask" [ 切勿与宿主机同网段 ]

如:{"bip":"172.21.100.1/24"}

2、Docker日志/垃圾文件清理

1、执行docker命令:docker system prune

2、清理日志:

#!/bin/sh
echo "==================== start clean docker containers logs =========================="
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
        do
                echo "clean logs : $log"
                cat /dev/null > $log
        done
echo "==================== end clean docker containers logs   =========================="

3、Docker卸载

 

docker rm -f -v $(docker ps -aq)

docker volume rm $(docker volume ls)

rm -rf /var/lib/etcd/

4、daemon.json参考:

{"selinux-enabled":false
,"bip":"172.21.100.1/24"
,"insecure-registries":["172.16.101.43:5000","172.16.101.49"]
,"registry-mirrors": ["https://088aunhx.mirror.aliyuncs.com"]
}
 

4、Docker磁盘清理

Docker Images
Docker Containers
Docker Logs

Container占用空间突然增大,一般也主要是一些异常产生的文件太多,写了太多logs在容器内所致。

清理dangling镜像、退出的容器、无用的数据卷和网络、未使用的镜像
docker system prune -a

删除所有关闭的容器

docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

删除所有dangling镜像(即无tag的镜像):

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

删除所有dangling数据卷(即无用的volume):

docker volume rm $(docker volume ls -qf dangling=true)

清理容器内的垃圾
docker system df  -v

可以先用这个找出异常的容器

或者到相关目录执行du命令也行,如:

cd /var/lib/docker/overlay2
du --max-depth=1 -h ./

cd /var/lib/docker/containers
du --max-depth=1 -h ./

然后哪个容器占用过大,就清理哪个,这样靠谱点,连同日志文件都计算在内

清理docker日志文件
ls -lh $(find /var/lib/docker/containers/ -name *-json.log)

单独列出日志文件大小。

清空日志文件
truncate -s 0 /path/to/your/textfile

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值