Docker 远程音量和远程机器性能

Docker remote volume and remote machine performance

我正在计划一个设置,其中 docker 容器正在使用远程卷 - 已通过 ssh 连接到另一台机器并且一直在读取的卷。

假设我们有 5 个容器使用该远程卷。据我了解,docker 是通过 ssh 连接到远程机器并不断读取特定目录(大约有 100 个文件,不超过几 MB)。

据推测,持续读取会给远程机器带来一些负载。该负载会很大还是可以忽略不计?远程机器上有 php-fpm 和 Apache2,持续读取会减慢该 Web 服务器的速度吗?另外,卷刷新文件的频率如何?

此致

经过一些测试确定:

  1. 我用 vieux/sshfs 驱动程序创建了一个远程卷。

  2. 创建了一个 ubuntu 容器,其中的卷安装在特定文件夹下。

  3. 然后从容器本身拖一个 txt 文件。

  4. 从远程机器(包含物理文件夹的机器)写入该 txt 文件。

我发现,如果我们连续写入文件(如 echo "whatever" >> thefile.txt)。变化在几秒后一下子全部出现,而不是像介绍的那样一一出现。此外,如果我打印或列出挂载目录中的文件,响应是即时的。这让我觉得,Docker 正在制作卷中文件夹的本地副本,并每 5 秒左右刷新一次。文件夹复制一次后的负载基本可以忽略

此外,当尝试从容器写入已安装的文件夹时,文件上的更改几乎会立即反映出来(考虑到任何延迟)。这让我认为守护进程正在立即传播写入更改。

总而言之 - 读取远程文件夹对远程计算机的负载可以忽略不计。计划是在生产环境中使用这样的设置,因此我们不必在两个不同的地方(生产服务器和在容器之间共享(本地)卷的机器)进行更改。

如果有人能证实我的发现,那就太好了。

此致