安装软件
官网下载vagrant并安装
vagrant plugin install vagrant-vmware-desktop
vagrant plugin install vagrant-hostmanager
设置 provider
vagrant 默认使用 virtualbox
如果想默认使用vmware可以加一个环境变量
VAGRANT_DEFAULT_PROVIDER=vmware_desktop
也可以每次在vagrant命令后面加个provider参数
下载box
vagrant box add centos/7
可以看到下载地址,可以用另外的工具下载,然后box add <filename>
在以下目录中
~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/
可以看到文件夹“0”,改名到它的版本号就可以了,比如1812.01
不过这个方法太土了,想优雅的话,就不改名,加个json文件
创建项目
建立一个空文件夹,在里面
vagrant init centos/7
得到Vagrantfile,修改一下
config.vm.box_check_update = false
不然每次启动虚拟机都要联网检查更新
启动和关闭
现在就可以启动了
vagrant up
关机
vagrant halt
关机并删除虚拟机文件
vagrant destroy
使用虚拟机
使用ssh连接到虚拟机里面
vagrant ssh
查看目前的ssh配置,一般是默认映射到本机的2222端口的
vagrant ssh-config
按照上面命令显示的信息,输入ip/port/private_key文件,可以手动登录
ssh vagrant@127.0.0.1 -p 2222 -i <private_key file>
微调设置
如果想使用虚拟机的ip地址连接ssh,并显示在ssh-config中,可以在配置文件中调整
config.vm.define :master`, primary: true do |master|
master.vm.provider "vmware_desktop" do |v|
v.ssh_info_public = true
end
master.vm.box = "centos/7"
master.vm.hostname = "master1"
end
如果想关闭ssh到2222的映射
config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2222, disabled: true
如果要在宿主机直接使用虚拟机的主机名,可以打开vagrant-hostmanager插件
config.hostmanager.enabled = true
config.hostmanager.manage_host = true
config.hostmanager.manage_guest = true
这之后,再启动这个虚拟机后,就可以
ssh vagrant@master1 -i <private_key file>
参考链接-vagrant-hadoop
参考链接-vagrant-development
参考链接-vagrant-hostmanager