熟练使用vagrant(16):WSL中使用vagrant
- 目录:熟练使用vagrant系列文章
- vagrant视频教程:熟练使用vagrant管理虚拟机
熟练使用vagrant(16):WSL中使用vagrant
可以在wsl中使用vagrant,且wsl中的vagrant可以和宿主机Win10上的virtualbox、hyper-v交互。
假如wsl是ubuntu,那么wsl中就可以直接apt install vagrant
。但是要求wsl中安装的vagrant的版本和宿主机win10上安装的vagrant版本要相同。
因此,如果win10上安装的vagrant是2.2.10版,那么wsl ubuntu中也必须安装2.2.10版的vagrant。通过包管理工具(比如apt/yum)安装的vagrant可能会版本不够,需要在vagrant官网下载对应版本的包:各版本vagrant下载地址。
如果要使用virtualbox作为Provider,建议不要使用wsl2,因为wsl2自身是完整的虚拟机,其IP地址和宿主机是隔离的,这会导致vagrant ssh访问不到vagrant创建的不带private_network、public_network的virtualbox的虚拟机。
如果非要使用wsl2,需确保自己有能力解决以上问题。另外可参考下面我给出的wsl2上Vagrantfile的配置。
在wsl 1中安装好vagrant后,还需要在wsl中设置下面两个环境变量:
1 | # 允许wsl中的vagrant使用宿主机上的信息 |
为了以后方便使用,可见上面设置环境变量的操作写入.bashrc
中。
另外注意,有些box默认已经配置了synced_folder
,在wsl中是不能使用目录同步功能的,如果有相关报错,需要在Vagrantfile中加上一行:
1 | config.vm.synced_folder ".", "/vagrant", disabled: true |
下面是我在wsl2上使用vagrant的Vagrantfile:
1 | Vagrant.configure("2") do |config| |
下面是wsl2上三个虚拟机的Vagrantfile:
1 | Vagrant.configure("2") do |config| |
这时甚至可让vagrant up
并行创建这三个虚拟机:
1 | $ vagrant status --machine-readable | grep -oP '\w+(?=,meta)' |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 骏马金龙!
评论