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官方仓库安装的。

这里有几件事要注意:

  1. Docker在macOS或Windows上实际上是在虚拟机上运行的。 这个虚拟机会带来一些额外的开销,并且可能会限制它可以访问的实际CPU和内存的数量。
  2. Docker容器有一个启动时间(可以是1秒或更多)。
  3. 如果您将数据的卷或pipe道安装到标准input,则数据可能会比较慢,因为它必须通过Docker客户端传输到Docker主机。

您没有提及Docker的安装方式或主机平台。 但是如果你在Windows或MacOS上,那么#1和#3肯定会占用一些时间。

你可以做的一件事是在容器中移动time命令(如果该实用程序在图像中可用),以更接近地表示实际的处理时间:

 docker run -i chuyskywalker/node-html-minifier time html-minifier --remove-comments <test.html