docker工人容器中的cli工具很慢
当我使用docker for cli工具时,我期望性能如何? 看起来像当我尝试在docker中运行这个工具 – 这是慢很多。 我做错了吗?
所以我用这个内容来testing一个test.html文件:
<html><!--sdfsf--></html>
安装在我的盒子上 – 非常快:
$ time html-minifier --remove-comments <test.html <html></html> real 0m0.098s user 0m0.088s sys 0m0.013s
在docker中运行 – >需要很长的时间:
time docker run -i chuyskywalker/node-html-minifier html-minifier --remove-comments <test.html <html></html> real 0m1.061s user 0m0.019s sys 0m0.012s
编辑:我的机器是Fedora Linux 25. Docker是从docker官方仓库安装的。
这里有几件事要注意:
- Docker在macOS或Windows上实际上是在虚拟机上运行的。 这个虚拟机会带来一些额外的开销,并且可能会限制它可以访问的实际CPU和内存的数量。
- Docker容器有一个启动时间(可以是1秒或更多)。
- 如果您将数据的卷或pipe道安装到标准input,则数据可能会比较慢,因为它必须通过Docker客户端传输到Docker主机。
您没有提及Docker的安装方式或主机平台。 但是如果你在Windows或MacOS上,那么#1和#3肯定会占用一些时间。
你可以做的一件事是在容器中移动time
命令(如果该实用程序在图像中可用),以更接近地表示实际的处理时间:
docker run -i chuyskywalker/node-html-minifier time html-minifier --remove-comments <test.html