配置了docker镜像加速,但是docker拉取镜像速度还是很慢

首先影响docker拉取镜像加速的原因有几个,挨个进行检查后就会发现问题所在

1.添加docker的阿里yum源

tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=http://mirrors.aliyun.com/docker-engine/yum/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

然后使用docker search搜索镜像并拉去镜像

docker search  zabbix

date && docker pull monitoringartist/zabbix-3.0-xxl && date

2.这时候拉取可以看到非常慢,就需要配置docker加速了

vi /etc/docker/daemon.json  #编辑此文件,添加以下文件


{

"registry-mirrors": [
     "https://docker.mirrors.ustc.edu.cn",
     "https://registry.docker-cn.com",
     "http://hub-mirror.c.163.com",
     "https://mirror.ccs.tencentyun.com"
]

}

常用镜像有以下这些:可以自己选择

科大:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
七牛云加速器:https://reg-mirror.qiniu.com
阿里云:https://<你的ID>.mirror.aliyuncs.com
腾讯云:https://mirror.ccs.tencentyun.com

然后重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

3.第三种原因就是可能就是根目录下的磁盘空间不够了

有时会提示:no space left on device 磁盘空间不足

磁盘满了分为inode和block。

inode是格式化创建文件系统时产生的,用于存放文件的属性信息,存放着block的位置,没有文件名,创建一个非空文件占用1个inode和至少1个block

block是实际存放数据的位置,block大小分为1k 4k 8k 分区大于500m默认是4K,文件很大占用多个block,文件非常小1k block剩余空间不能继续使用,所以系统中block消耗更快

df -h  #查看所有block使用情况,这里可以看到那个目录下的空间使用情况,需要留意/根目录的使用情况,如果很满的话将会影响后续软件安装和docker的镜像拉取等

du -sh /usr/* |grep G  #在根目录下执行该命令,查找大文件,再看根目录下的那个目录占用空间比较大,然后再进入到这些目录下再次执行该查找大文件的命令,直至找到那个占用空间大的文件或目录,确认该目录或文件非必要可以进行删除

df -h   #再次返回到根目录下执行该命令,就可以看到/根目录下的空间有所释放

也可以适当删除home家目录下的一些文件或目录,然后将家目录的空间分一些给到根目录下去,这个操作我后面再讲,这里的一些清除/根目录下的一些操作也是能有效释放/根目录内存的

还有就是inode满了(使用df -h发现还有空间)

df -i     #查看inode使用情况,然后根据返回,找到那个占用很大的空间的那个挂载点的目录下,即对应的后面的那个目录,查看该目录下的文件,文件小且多,评估以下这些文件是否必要,非必要可以进行删除

rm -rf 文件名   #删除文件


df -i    #再次查看inode使用情况,应该就不会那么满了

如果不知道小文件都怎么找,可以使用以下方法,找系统中 目录大小大于1M(目录一般大小为4K,所以目录要是大了那么文件必然很多)

find / -size +4k -type d |xargs ls -ldhi

还有一种情况就是文件被占用一直没彻底删除,即df -h有空间,但是放不进去东西

lsof |grep deleted  #显示系统中被打开的文件,过滤出deleted字段

显示中第一列为:软件/服务名称
显示中第八列:文件大小
显示中第十列:文件的名字或路径
显示中第是一列:标记(硬链接数为0 进程调用数不为零 就会出现delete)



/etc/init.d/rsyslog restart   #重启对应的服务 释放磁盘空间 

df -h   #再次查看所有block使用情况

猜你喜欢

转载自blog.csdn.net/weixin_45190065/article/details/128216499
今日推荐