docker工人会花费系统资源与系统交换数据吗?

在docker中,我们可以使用-v参数将系统目录映射到docker中的目录。 喜欢:

docker run -d -v /data:/data 

与系统中读取文件相比,它会花费更多的时间吗?

以下是命令的两个输出(只运行两次,结果非常接近):

 $time sh -c "dd if=/dev/zero of=/tmp/rm bs=8k count=200000 && sync" 

在我的主机上:

 1638400000 bytes (1.6 GB) copied, 17.3344 s, 94.5 MB/s sh -c "dd if=/dev/zero of=/tmp/rm bs=8k count=200000 && sync" 0.06s user 1.62s system 

在一个容器中:

 1638400000 bytes (1.6 GB) copied, 17.586 s, 93.2 MB/s user 0m0.052s sys 0m1.852s 

所以答案是否定的,HDD访问没有任何明显的额外成本(并且不应该由于集装箱化)。