我正在尝试使用 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 映像中成功完成此操作;希望它也能为您服务。
说明:在虚拟机内部:
- 创建目录(例如
mkdir -p /mnt/share
) - 将共享文件夹挂载到刚刚创建的目录中,其中“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...
全部播放] *********************************************************************