1、开启BIOS虚拟化,若为云桌面虚拟机请联系管理员进行开启

2、下载并安装vartualbox虚拟机引擎:Downloads – Oracle VM VirtualBox 根据自身操作系统进行下载

3、下载并安装Vagrant:Downloads | Vagrant by HashiCorp (vagrantup.com) 根据自身操作系统进行下载,安装后重启电脑

4、安装完成后,在宿主机创建一个目录,如在F盘上创建一个名为test的目录。并将Vagrantfile文件复制到此目录下,Vagrantfile文件内容如下所示:

Vagrant.configure("2") do |config|
  config.vm.define "CentOS-7" do |centos|
    centos.vm.box = "generic/centos7"
    centos.vm.hostname = "localhost"
    centos.vm.provider "virtualbox" do |vb|
      vb.name = "CentOS-7"
      vb.cpus = 2
      vb.memory = 1024
    end
    #centos.vm.synced_folder 'f:\test', "/vagrant/", owner: "root", group: "root"
    centos.vm.network "private_network", ip: "192.168.56.10"
    #挂载目录需要在powershell中执行 vagrant plugin install vagrant-vbguest
    centos.vm.provision "shell", privileged: false, inline: <<-SHELL
      sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
      sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      sudo yum install postgresql13 git gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel docker-ce ansible -y
      git clone https://github.com/pyenv/pyenv.git /home/vagrant/.pyenv
      git clone https://github.com/yyuu/pyenv-virtualenv.git /home/vagrant/.pyenv/plugins/pyenv-virtualenv
      chown vagrant:vagrant -R /home/vagrant/.pyenv
      echo 'export PYENV_ROOT="$HOME/.pyenv"' >> /home/vagrant/.bash_profile
      echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /home/vagrant/.bash_profile
      echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> /home/vagrant/.bash_profile
      source /home/vagrant/.bash_profile
      echo 'eval "$(/home/vagrant/.pyenv/bin/pyenv virtualenv-init -)"' >> /home/vagrant/.bash_profile
      source /home/vagrant/.bash_profile
      for i in '3.1.5' '3.2.6' '3.3.7' '3.4.9' '3.5.9' '3.6.9' '3.7.9' '3.8.9' '3.9.9' \ndo\n/home/vagrant/.pyenv/bin/pyenv install $i\ndone
      sudo systemctl daemon-reload && sudo systemctl start docker && sudo systemctl enable docker
    SHELL
  end
end

5、生成虚拟机

1)若为Windows系统,请先到 Microsoft store 下载并安装 Windows Terminal

2)打开Windows Terminal,切换到在第4步创建的目录中,并执行创建虚拟机的指令

cd F:\test\
vagrant up

6、vagrant常用指令

指令 功能 指令 功能
vagrant up 启动虚拟机 vagrant halt 关闭虚拟机
vagrant reload 重启虚拟机 vagrant ssh 通过SSH登录虚拟机
vagrant status 查看虚拟机状态 vagrant destroy -f 强制删除虚拟机