云网牛站
所在位置:首页 > Linux教程 > 在KVM/VirtualBox/VMWare/Parallels上使用Vagrant运行CentOS 8 VM

在KVM/VirtualBox/VMWare/Parallels上使用Vagrant运行CentOS 8 VM

2019-12-31 10:41:50作者:王磊稿源:云网牛站

如何使用Vagrant创建CentOS 8虚拟机?如何使用Vagrant在KVM/VirtualBox/VMWare上运行CentOS 8?可以使用Vagrant管理CentOS 8虚拟机吗?使用Vagrant,您可以使用称为Boxes的虚拟机映像来创建和配置可复制的可移植开发环境。使用Vagrant,您可以在几秒钟内在各种虚拟化平台上设置开发环境,例如VirtualBox、KVM、VMware、Hyper-V等。如果您喜欢使用新技术并且已经从CentOS 8开始构建应用程序,则可以使用本指南来设置您的Vagrant Lab。

在KVM/VirtualBox/VMWare/Parallels上使用Vagrant运行CentOS 8 VM

 

步骤1:安装Vagrant

请参考文章:在CentOS 8上安装Vagrant的方法以及如何创建基本的开发环境

安装Vagrant后就可以进行下面的操作了。

 

第2步:下载CentOS 8 Vagrant box

使用以下命令之一为您的虚拟化环境下载Vagrant box:

1、对于KVM用户:

$ vagrant box add centos/8 --provider=libvirt

==> box: Loading metadata for box 'centos/8'

box: URL: https://vagrantcloud.com/centos/8

==> box: Adding box 'centos/8' (v1905.1) for provider: libvirt

box: Downloading: https://vagrantcloud.com/centos/boxes/8/versions/1905.1/providers/libvirt.box

box: Download redirected to host: cloud.centos.org

box: Progress: 48% (Rate: 1305k/s, Estimated time remaining: 0:04:05)^    box: Calculating and comparing box checksum...

==> box: Successfully added box 'centos/8' (v1905.1) for 'libvirt'!

2、对于VirtualBox用户:

$ vagrant box add centos/8 --provider=virtualbox

==> box: Loading metadata for box 'centos/8'

box: URL: https://vagrantcloud.com/centos/8

==> box: Adding box 'centos/8' (v1905.1) for provider: virtualbox

box: Downloading: https://vagrantcloud.com/centos/boxes/8/versions/1905.1/providers/virtualbox.box

box: Download redirected to host: cloud.centos.org

box: Calculating and comparing box checksum...

==> box: Successfully added box 'centos/8' (v1905.1) for 'virtualbox'!

3、对于Parallels:

$ vagrant box add generic/centos8 --provider=parallels

==> box: Loading metadata for box 'generic/centos8'

box: URL: https://vagrantcloud.com/generic/centos8

==> box: Adding box 'generic/centos8' (v2.0.6) for provider: parallels

box: Downloading: https://vagrantcloud.com/generic/boxes/centos8/versions/2.0.6/providers/parallels.box

box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com

==> box: Successfully added box 'generic/centos8' (v2.0.6) for 'parallels'!

4、VMware:

$ vagrant box add generic/centos8 --provider=vmware_desktop

==> box: Loading metadata for box 'generic/centos8'

box: URL: https://vagrantcloud.com/generic/centos8

==> box: Adding box 'generic/centos8' (v2.0.6) for provider: vmware_desktop

box: Downloading: https://vagrantcloud.com/generic/boxes/centos8/versions/2.0.6/providers/vmware_desktop.box

box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com

==> box: Successfully added box 'generic/centos8' (v2.0.6) for 'vmware_desktop'!

5、Docker:

$ vagrant box add generic/centos8 --provider=docker

==> box: Loading metadata for box 'generic/centos8'

box: URL: https://vagrantcloud.com/generic/centos8

==> box: Adding box 'generic/centos8' (v2.0.6) for provider: docker

box: Downloading: https://vagrantcloud.com/generic/boxes/centos8/versions/2.0.6/providers/docker.box

box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com

==> box: Successfully added box 'generic/centos8' (v2.0.6) for 'docker'!

列出可用的CentOS 8 box:

$ vagrant box list

centos/8        (libvirt, 1905.1)

centos/8        (virtualbox, 1905.1)

generic/centos8 (parallels, 2.0.6)

generic/centos8 (vmware_desktop, 2.0.6)

generic/centos8 (docker, 2.0.6)

 

步骤3:为CentOS 8创建Vagrantfile

首先创建一个Vagrant文​​件:

$ mkdir -p ~/vagrant/centos8 && cd ~/vagrant/centos8

$ vim Vagrantfile

Vagrantfile的基本内容如下所示。

1、KVM

# -*- mode: ruby -*-

# vi: set ft=ruby :

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'

Vagrant.configure("2") do |config|

##### DEFINE VMS #####

config.vm.define "centos8" do |config|

config.vm.hostname = "centos8"

config.vm.box = "centos/8"

config.vm.box_check_update = false

end

config.vm.provider :libvirt do |v|

v.memory = 1024

v.cpus = 2

end

end

2、VirtualBox

# -*- mode: ruby -*-

# vi: set ft=ruby :

Vagrant.configure("2") do |config|

config.vm.box = "centos/8"

config.vm.box_check_update = false

config.vm.hostname = "centos8"

config.vm.provider "virtualbox" do |vb|

# Display the VirtualBox GUI when booting the machine

vb.gui = false

vb.memory = "2048"

vb.cpus = 2

end

end

对于其他提供商,请访问官方的Vagrant文​​档,地址:https://www.vagrantup.com/docs/,创建文件后,通过运行以下命令启动VM:

vagrant up

Bringing machine 'centos8' up with 'libvirt' provider...

==> centos8: Uploading base box image as volume into libvirt storage...

==> centos8: Creating image (snapshot of base box volume).

==> centos8: Creating domain with the following settings...

==> centos8:  -- Name:              centos8_centos8

==> centos8:  -- Domain type:       kvm

==> centos8:  -- Cpus:              2

==> centos8:  -- Feature:           acpi

==> centos8:  -- Feature:           apic

==> centos8:  -- Feature:           pae

==> centos8:  -- Memory:            1024M

==> centos8:  -- Management MAC:

==> centos8:  -- Loader:

==> centos8:  -- Nvram:

==> centos8:  -- Base box:          centos/8

==> centos8:  -- Storage pool:      default

==> centos8:  -- Image:

/var/home/jkmutai/.local/share/libvirt/images/centos8_centos8.img (11G)

==> centos8:  -- Volume Cache:      default

==> centos8:  -- Kernel:

==> centos8:  -- Initrd:

==> centos8:  -- Graphics Type:     vnc

==> centos8:  -- Graphics Port:     -1

==> centos8:  -- Graphics IP:       127.0.0.1

==> centos8:  -- Graphics Password: Not defined

==> centos8:  -- Video Type:        cirrus

==> centos8:  -- Video VRAM:        9216

==> centos8:  -- Sound Type:

==> centos8:  -- Keymap:            en-us

==> centos8:  -- TPM Path:

==> centos8:  -- INPUT:             type=mouse, bus=ps2

==> centos8: Creating shared folders metadata...

==> centos8: Starting domain.

==> centos8: Waiting for domain to get an IP address...

==> centos8: Waiting for SSH to become available...

centos8:

centos8: Vagrant insecure key detected. Vagrant will automatically replace

centos8: this with a newly generated keypair for better security.

centos8:

centos8: Inserting generated public key within guest...

centos8: Removing insecure key from the guest if it's present...

centos8: Key inserted! Disconnecting and reconnecting using new SSH key...

==> centos8: Setting hostname...

==> centos8: Configuring and enabling network interfaces...

centos8: SSH address: 192.168.122.2:22

centos8: SSH username: vagrant

centos8: SSH auth method: private key

==> centos8: Rsyncing folder: /var/home/jkmutai/vagrant/centos8/ => /vagrant

尝试ssh:

vagrant ssh

[vagrant@centos8 ~]$ cat /etc/os-release

NAME="CentOS Linux"

VERSION="8 (Core)"

ID="centos"

ID_LIKE="rhel fedora"

VERSION_ID="8"

PLATFORM_ID="platform:el8"

PRETTY_NAME="CentOS Linux 8 (Core)"

ANSI_COLOR="0;31"

CPE_NAME="cpe:/o:centos:centos:8"

HOME_URL="https://www.centos.org/"

BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"

CENTOS_MANTISBT_PROJECT_VERSION="8"

REDHAT_SUPPORT_PRODUCT="centos"

REDHAT_SUPPORT_PRODUCT_VERSION="8"

[vagrant@centos8 ~]$ cat /etc/redhat-release

CentOS Linux release 8.0.1905 (Core)

[vagrant@centos8 ~]$

logout

Connection to 192.168.122.2 closed.

如果要注销VM,请使用:

$ vagrant destroy

centos8: Are you sure you want to destroy the 'centos8' VM? [y/N] y

==> centos8: Removing domain...

每当您对Vagrantfile进行更改时,请重新启动计算机以使更改生效:

$ vagrant reload

要停止实例,请使用:

$ vagrant halt

如果要在停止时保存虚拟机的当前状态,请使用:

$ vagrant suspend

这样一来,您将在以后启动VM时返回完全相同的状态。

运行时注销Vagrant机器:

$ vagrant destroy

 

相关主题

在Linux系统上使用Vagrant和Libvirt的方法

精选文章
热门文章