Docker非常慢

monwx1rj  于 2023-02-21  发布在  Docker
关注(0)|答案(1)|浏览(121)

我正在Ubuntu 20.04服务器上运行大约30多个容器(Redis、MySQL、RabbitMQ、.Net核心、 flask 和其他)。
以前在1分钟内建造的码头集装箱现在需要10多分钟。在某些情况下,超过20分钟。
例如,构建一个Flask应用程序有时需要30分钟,而其他时候则需要10秒。我知道这不是缓存问题,因为它会停留在COPY指令上,该指令应该复制单个.py文件。
ps, stat, logs等docker命令的情况也是如此,类似的映像在其他计算机上构建速度非常快(使用相同的资源)
无论何时发生这种情况,我都监控了资源使用情况,并且有超过70% RAM and CPU的可用资源,显然没有任何资源限制。
我的docker版本是Docker version 23.0.1, build a5ee5b1,containerd版本是containerd.io 1.6.16

pqwbnv8z

pqwbnv8z1#

看起来您有很大的生成上下文。在生成过程中,指定目录中未在.dockerignore中列出的所有文件和目录都将复制到生成上下文目录,然后由Docker引擎使用。并且Dockerfile中的COPY命令是从该生成上下文复制的,而不是从您的本地目录复制的。因此,即使您COPY一个文件,您仍然会将所有其他文件复制到构建上下文。
请将所有不必要的文件和目录添加到.dockerignore文件并检查是否有帮助。
有关详细信息,请参见Understanding the Docker Build Context (Why You Should Use Dockerignore)

相关问题