具体来说,我正在寻找可以完成这项工作的任何 CLI 命令。服务器上有两个 VM,均基于 Red Hat Linux。谢谢
答案1
虽然最好的方法是使用网络,如 SSH、SCP、rysnc 或 NFS,但也有一些方法可以在虚拟主机级别在 2 个虚拟机之间共享文件。但是,这通常更难配置,而且更容易出错。除了特殊用例外,我建议使用网络方法。
例如,在 VMware 中,您可以设置虚拟磁盘并将其共享给两个虚拟机。但是,您需要非常小心地执行此操作 - 因为大多数操作系统都希望拥有自己的磁盘并对其进行完全控制,并且当另一个虚拟机修改该磁盘时可能会出现意外行为。
NFS 等协议会为您解决这个问题,并且 NFS 是解决此问题的更简洁的解决方案。
答案2
scp /path/to/file <othervm's ip>:/tmp/
答案3
虚拟机的真正意义在于能够隔离正在运行的代码。例如,您想要运行两个 Apache 实例,但又不希望它们共享任何东西,因此您构建了两个虚拟机,现在您可以在同一台服务器(虚拟机运行的位置)上独立运行它们。因此,在虚拟机之间传输文件的唯一方法是通过常规服务器文件共享机制,如 scp 或 rsync 或 nfs 挂载文件系统或 samba 挂载文件系统。否则,您就是在入侵虚拟机环境。也许您不想运行虚拟机,而是想运行一些更容易入侵的东西,如容器或 chrooted 环境来“隔离”正在运行的代码?