使用Vagrant开启单虚拟机环境

安装软件

官网下载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
在以下目录中

~/.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 [email protected] -p 2222 -i 

参考链接

微调设置

如果想使用虚拟机的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

参考链接,参考链接2,参考链接3

如果要在宿主机直接使用虚拟机的主机名,可以打开vagrant-hostmanager插件

config.hostmanager.enabled = true
config.hostmanager.manage_host = true
config.hostmanager.manage_guest = true

这之后,再启动这个虚拟机后,就可以

ssh vagrant@master1 -i 

参考链接-vagrant-hadoop
参考链接-vagrant-development
参考链接-vagrant-hostmanager

你可能感兴趣的:(使用Vagrant开启单虚拟机环境)