如何在使用 Vagrant 和 VirtualBox 创建的 Windows 10 和 CentOS7 虚拟机之间共享(config.vm.synced_folder)目录

如何在使用 Vagrant 和 VirtualBox 创建的 Windows 10 和 CentOS7 虚拟机之间共享(config.vm.synced_folder)目录

我正在尝试使用 Vagrant (2.2.3) 和 Virtual Box (6.0.4) 在 Windows 10 上使用以下 Vagrant 文件创建 VM CentOS7

Vagrant.configure("2") do |config|
  config.vm.box = "bento/centos-7" 
  config.vm.network "private_network", ip: "192.168.56.3"

  config.vm.synced_folder "D://SharedWithVM//CentOS7-Work", "/media/sf_CentOS7-Work", type: "virtualbox"

  config.vm.provider "virtualbox" do |vb|
      vb.name = "Test"
   end
   config.vm.provision "shell", path: "./scripts/InstallGuestAdditions.sh"
end

shellInstallGuestAdditions.sh脚本如下..

#!/bin/bash
curl -C - -O http://download.virtualbox.org/virtualbox/6.0.4/VBoxGuestAdditions_6.0.4.iso
sudo mkdir /media/VBoxGuestAdditions
sudo mount -o loop,ro VBoxGuestAdditions_6.0.4.iso /media/VBoxGuestAdditions
sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
rm VBoxGuestAdditions_6.0.4.iso
sudo umount /media/VBoxGuestAdditions
sudo rmdir /media/VBoxGuestAdditions

一切正常,CentOS7 VM 已创建。

如果我检查有关共享目录的机器属性,我可以看到这一点

在此处输入图片描述

所以我对这条路感到很惊讶\\?\D:\SharedWithVM\CentOS7-Work

我应该如何改变我的 Vagrantfile 来获得正确的路径?

我尝试使用命令连接我的 CentOS 7 VM,vagrant ssh一切正常。此外,命令cd /media/sf_CentOS7-Work运行正常,但无法列出文件或目录,也无法在两个系统之间共享。

这是我的虚拟机 CentOS7 上的快照

在此处输入图片描述

我曾尝试在 Windows 10 和 CentOS7 VM 中创建文件或目录。

任何建议或示例都将受到赞赏。

答案1

我之前能够在我的 Virtualbox 映像中成功完成此操作;希望它也能为您服务。

说明:在虚拟机内部:

  1. 创建目录(例如mkdir -p /mnt/share
  2. 将共享文件夹挂载到刚刚创建的目录中,其中“shared_folder”是您之前从设置中设置的共享文件夹的名称(例如mount -t vboxsf shared_folder /mnt/share

您现在应该能够从等效目录访问/mnt/share文件

答案2

这对我有用

config.vm.synced_folder“C:\Users\syed\Pvagrant2\data\testplay”,“/vagrant”,类型:‘rsync’

闲置--提供

==> 默认:Rsyncing 文件夹:/cygdrive/c/Users/syed/Pvagrant2/data/testplay/ => /vagrant ==> 默认:运行 provisioner:ansible_local... 默认:运行 ansible-playbook...

全部播放] *********************************************************************

相关内容