1.下载你需要的镜像,以ubuntu为例
wget http://d16r8ew072anqo.cloudfront.net/ubuntu-16.04.6-server-amd64.iso
2.安装virtual box
3.把镜像放到vbox盘片中,启动
(请选择英文版,中文版有个busybox-initramfs可能会报错)
狂点下一步,默认安装即可,主机名最好vagrant,有个选项不要选LVM安装
4.装好后进入 虚拟机
5.
mkdir ~/.ssh
cd ~/.ssh
wget https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant
wget https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
mv vagrant.pub authorized_keys
6.安装vbox虚拟机增强工具,用于共享目录
vbox菜单,Devices -> Insert Guest Additions
插入光盘
7.sudo mount /dev/sr0 /media/cdrom
8.sudo /media/cdrom/VBoxLinuxAdditions.run (Linux用户执行这个,windows用户执行xxx.exe)
9.sudo apt install make gcc perl -y
9.1
不好意思这里漏了一步,需要刚给vagrant配置用户,组,免密登录
sudo groupadd admin
sudo usermod -G admin vagrant
sudo chmod +w /etc/sudoers
sudoers文件把admin的那一句代码修改成如下:
%admin ALL=NOPASSWD: ALL
sudo chmod -w /etc/sudoers
sudo apt-get install puppet puppetmaster
sudo apt-get install openssh-server
10.关闭虚拟机
11.进入宿主机(实体机)的虚拟机磁盘目录
12.
vagrant package --output ubuntu16.box --base ubuntu16
13.等
14.
把ubuntu16.box移动到一个干净的目录,并且在目录下创建Vagrantfile文件,内容如下
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
config.vm.box = "ubuntu16.box"
config.vm.network "forwarded_port", guest: 2222, host: 2222
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "10.0.0.8"
config.vm.synced_folder "~/zys/code", "/home/vagrant/code", id: "v-root", mount_options: ["rw", "tcp", "nolock", "noacl", "async"], type: "nfs", nfs_udp: false
config.vm.provision "shell", inline: <<-SHELL
chown vagrant:vagrant /home/vagrant/.ssh -R
SHELL
end
共享目录根据你的实际情况去改
15.在目录下执行
vagrant box list
vagrant box remove 原来的box(如果有)
vagrant box up
16.
vagrant ssh -> vagrant
17.enjoy!
注意事项:
1.如果vagrant up发现卡主了,那么十有八九是你的虚拟增强组件没装,导致目录非法共享
2.vagrant ssh可以连接虚拟机,ssh vagrant@10.0.0.8也可以连接,你懂的,咱们在配置文件里写死了一个私有ip地址
有任何问题请给我留言