2017-03-02 52 views
4

当我试图在笔记本电脑上构建图像时,我的码头非常慢。 我试图在我的ubuntu内部使用相同的docker版本在虚拟机上构建相同的图像,并在5秒内构建它,但是在我的笔记本电脑上,它会评估每个语句,比如慢30倍。 即使ENV命令!为什么码头构建如此缓慢

笔记本电脑使用OpenSUSE 42.2以Btrfs作为根文件系统,5400 rpm的硬盘并加密。 我知道所有这些因素,但它们如此重要,以至于我的构建需要15分钟而不是5秒?

Docker 1.13.1。

谢谢。

UPD。

不知道它是否有用,但是当我在我的虚拟机上运行docker build -t test .时,它使用我的4核CPU的10%,持续5秒,并使用HDD。

然而,在笔记本电脑中,它一直使用我的四核CPU的一个核心100%,HDD几乎始终保持空闲状态。

这里的nmon统计: enter image description here

+1

你有你的Dockerfile和所有你需要的文件在一个特定的目录吗?如果不是,“buid context”就是你当前目录中的所有文件,并且速度很慢。请参阅http://stackoverflow.com/questions/26600769/build-context-for-docker-image-very-large – user2915097

+0

yup,我有我的所有文件内部构建上下文,它只是一堆bash脚本 –

+0

所以'strace docker建立'也许是一个大锤子,但应该显示你的15分钟内发生了什么 – user2915097

回答

1

这听起来像是你的笔记本电脑BTRFS文件系统有问题 - 在其支离破碎。尝试调整btrfs。我还会研究与docker和btrfs https://docs.docker.com/engine/userguide/storagedriver/btrfs-driver相关的docker文档的这一部分 - 特别是关于指向碎片的性能部分。

+1

我假设你的意思是它可能是目前*碎片*,en _needs_进行碎片整理?并不是说我对btrfs知之甚多,所以主要是从语言的角度来看;) – Nanne

+0

谢谢,这是正确的。我应该说支离破碎 - 更新它。 – abdollar

+0

感谢您的回答,但我试图整理我的FS,它并没有帮助 –

相关问题