当我们使用Docker构建大型镜像时,它可能会花费相当长的时间去执行。特别是在开发环境中,由于我们需要在许多不同的Docker映像之间切换,因此这个问题变得更加突出。尽管在使用缓存的情况下速度也略有提高,但构建时间的大部分仍然很耗时。
有一个解决方法 – EatMyData。这是一个小型工具,可通过禁用文件系统与磁盘同步操作来提高应用程序性能。这意味着数据在存储到磁盘之前会被临时存储在内存中,从而减少了I/O操作的数量。结果,Docker构建速度将大大提高,减少构建时间,带来更快的开发,更快的反馈等好处。
开始使用EatMyData非常简单。它可以通过在您的Dockerfile中将ENTRYPOINT设置为 ‘eatmydata’命令来启用。 EatMyData还支持使用LD_PRELOAD环境变量库的预加载。使用预加载将EatMyData注入到构建的二进制文件中,而无需对当前工作环境进行任何更改。
EatMyData的好处不止于此。在某些情况下,它甚至可以提高应用程序的整体性能。例如,当您使用具有实时性要求的应用程序时,这将尤其有用。因此,无论您是使用Docker还是其他Linux应用程序,都应该考虑使用EatMyData以提高系统的整体性能。
了解更多有趣的事情:https://blog.ds3783.com/