'docker build'命令长时间挂起,其他命令工作正常

yqlxgs2m  于 2023-03-07  发布在  Docker
关注(0)|答案(4)|浏览(274)

简单的问题:在使用Docker大约一周后,我的docker build命令陷入困境并挂起(在任何东西执行之前)大约一分钟。在保持这种挂起状态后,它将完全没有问题地以预期的速度执行docker build命令。
其他Docker命令(如docker run)不会遇到此"挂起"问题。
Docker安装信息:

Version 18.06.1-ce-win73
Channel: stable

我尝试过的事情:

  • docker system prune-这确实会清理空间,但不会加快docker build命令的速度
  • 在我的机器上重新安装Docker-这确实修复了这个问题,但在再次使用Docker大约一周后它再次出现。

其他人也有这个问题吗?

1szpjjfi

1szpjjfi1#

我也遇到了同样的问题。我解决了它,把Dockerfile移到一个空文件夹,然后我执行docker build命令,工作得很完美。
在其他一些论坛上,人们创建了一个.dockerignore文件,其中包含了对git的任何调用和许多其他文件,但这种方法对我不起作用。

rn0zuynd

rn0zuynd2#

问题是这样的:
我的Dockerfile的第一行(FROM命令)失败了。“挂起”是由于尝试下载基础映像时超时造成的。我试图从一个位置下载基础映像,而我需要在我的机器上为该位置设置代理。
所以我在最初的帖子里犯了个错误:Docker build命令未按预期运行。由于缺少代理设置,因此无法下载基本映像。

0pizxfdo

0pizxfdo3#

提示from Fco's answer above.解决了我的问题
基本上,我并不在意构建上下文的大小。我有一个git子模块,它在使用后收集了大量数据,这使得构建上下文膨胀。解决方案是将其(以及其他对构建不重要的目录和子文件夹)包含在前面提到的.dockerignore文件中。
这也可以解释为什么将Dockerfile复制到不同的目录会有效果。

bhmjp9jg

bhmjp9jg4#

2个原因:
1.如果您正在建设许多码头数小时。。请重新启动您的路由器,如果可能的话,因为有时由于沉重的数据包移动路由器崩溃。
2.增加内存、CPU和Docker引擎的交换空间,重启Docker并再次尝试构建。

相关问题