在运行群集群集的计算机中,Docker构建速度极慢

问题描述 投票:0回答:1

我正在使用我的笔记本电脑作为单节点Docker Swarm集群。

部署我的集群后,运行docker build命令变得非常慢。即使命令被缓存(例如RUN chmod ...),也需要几分钟才能完成。

我如何调试这个并了解减速的原因是什么?

上下文

我的群集群中的服务数量:22

Docker版本:18.04-这个

成本AS:Ley 4.15.15

主机拱门:x86_64

主机规格:i7,16GB的RAM,SSD / HDD混合磁盘(docker图像存储在HDD部分)

使用虚拟机或泊坞机:没有

docker docker-swarm
1个回答
2
投票

在这种情况下,结果是磁盘I / O太多。

正如我上面提到的,我的笔记本电脑的存储空间分为SSD磁盘和HDD磁盘。 docker镜像存储在HDD磁盘中,但是创建的docker卷也是如此(我最初忽略了这一点)。

我在本地运行的集群包含一个接收大量写入的PostgreSQL数据库。那些写操作堵塞了我的硬盘磁盘,所以这个特定问题的解决方案是将PostgreSQL的存储装载到存储在SDD磁盘中的目录中。在下面找到调试过程。

我通过使用iostat发现了这个,就像在这个blog post中指示的那样:

iostat -x 2 5

通过查看此命令的输出,很明显我的HDD磁盘的%利用param高达99%,所以它可能是罪魁祸首。接下来,我运行了iotop,dockerd + postgres位于列表的顶部。

总之,如果您的容器非常耗费I / O,它们可能会使整个docker基础架构变慢。

© www.soinside.com 2019 - 2024. All rights reserved.