使用vagrant+virtualbox搭建centos7

2021-12-28 12:39:55 浏览数 (1)

下载安装vagrant: 点击这里

下载安装virtual box:点击这里

这里使用的是win7系统,可能会出现powershell过低的情况,所以需要先检查本机的powershell版本

首先打开powershell,然后可以通过如下命令查看:

代码语言:javascript复制
$PSVersionTable

我这边直接升级到5.1(需要重启):下载Win7AndW2K8R2-KB3191566-x64.zip

打开cmd,运行vagrant检查是否正常

将提前准备好的镜像加入到vagrant管理

代码语言:javascript复制
vagrant box add centos/7 d:xxx(这里是镜像路径)

同时可以通过如下命令查看:

代码语言:javascript复制
vagrant box list

创建centos7文件夹,并进入其中(cmd命令进入):

运行如下命令:

代码语言:javascript复制
vagrant init centos/7

此时就会在当前目录下生成Vagrantfile,同时指定使用的镜像为centos/7

通过如下命令运行:

代码语言:javascript复制
vagrant up

同时可以打开virtualbox查看是否是在运行

也可以使用如下命令查看运行状态

代码语言:javascript复制
vagrant status

通过如下命令进入到虚拟机中

代码语言:javascript复制
vagrant ssh   
代码语言:javascript复制
sudo -i
#开启密码认证
vi /etc/ssh/sshd_config
PasswordAuthentication yes

修改密码并重启:

代码语言:javascript复制
passwd 
systemctl restart sshd

关于Vagrantfile文件:

代码语言:javascript复制
config.vm.box = "centos/7" #指定box

config.vm.network "public_network" #虚拟机享受实体机器一样的网络配置

config.vm.provider "virtualbox" do |vb|
        vb.memory = "3000"  #指定内存
        vb.name= "centos7"  #指定虚机名字
        vb.cpus= 2  #指定cpu
    end

Vagrantfile配置多IP:

代码语言:javascript复制
boxes = [
    {
        :name => "node1",
        :eth1 => "192.168.x.x",
        :mem => "1024",
        :cpu => "1"
    },
    {
        :name => "node2",
        :eth1 => "192.168.x.x",
        :mem => "1024",
        :cpu => "1"
    },
    {
        :name => "node3,
        :eth1 => "192.168.x.x",
        :mem => "1024",
        :cpu => "1"
    }
]

Vagrant.configure(2) do |config|

  config.vm.box = "centos/7"
  
   boxes.each do |opts|
      config.vm.define opts[:name] do |config|
        config.vm.hostname = opts[:name]
        config.vm.provider "vmware_fusion" do |v|
          v.vmx["memsize"] = opts[:mem]
          v.vmx["numvcpus"] = opts[:cpu]
        end

        config.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--memory", opts[:mem]]
		  v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
		  v.customize ["modifyvm", :id, "--name", opts[:name]]
        end

        config.vm.network :public_network, ip: opts[:eth1]
      end
  end

end

进入到虚拟机中

vagrant ssh node1

其他操作跟单机一致

0 人点赞