版本说明

Virtual Box版本:5.2.10
Vagrant版本:2.0.4
电脑系统:windows10 64位
虚拟机系统:centos7
连接工具:Xshell

寻找虚拟机镜像

在使用vagrant管理Virtual Box进行创建虚拟机的时候,镜像文件就是各种各样的box。这些box可以在vagrant的官网找到。网址如下所示:
https://app.vagrantup.com/boxes/search
找到的centos7的网址是:
https://app.vagrantup.com/centos/boxes/7
打开centos7的网址,可以知道这个box的名称叫做:centos/7。不需要我们去寻找下载链接,只需要知道这个名字就足够了。

下载box

这里假装你已经安装了vagrant和Virtual box。打开命令行,运行如下命令:

vagrant box add centos/7

vagrant box add命令表示给vagrant新增一个box
centos/7表示box的名称,是的,我们不需要指定下载链接,只需要给定一个名字,vagrant就会到官网的Vagrant Cloud中寻找并下载。

提示:下载速度很慢,这里提供了一个下载链接:
https://pan.baidu.com/s/1DIis9g8JoyXMJvkkWkiL8A
这种将本地的box添加到Vagrant的命令如下:

vagrant box add -name 'centos/7' [box放置的位置]

初始化虚拟机

找一个文件夹,用于保存Vagrantfile文件,这个文件表示了Vagrant对虚拟机的一些配置文件。我这里在G:\vagrant-workspace下创建一个文件夹。

cd G:\vagrant-workspace
mkdir test
cd test

使用如下命令进行初始话

vagrant init centos/7

vagrant init命令就是初始话命令
centos/7是指box的名称
运行之后,有如下提示:

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

启动虚拟机

初始话之后,就可以开始启动虚拟机,运行如下命令:

vagrant up

运行之后,输入如下:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: test_default_1529231219933_10952
==> default: Fixed port collision for 22 => 2222. Now on port 2200.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2200 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2200
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default: 
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Rsyncing folder: /cygdrive/g/test/ => /vagrant

这时候虚拟机已经启动了。

连接虚拟机

使用Xshell工具连接虚拟机,这里假设你已经安装了虚拟机。可以使用ssh命令连接虚拟机。但是此时虚拟机是连接不上的,所以需要进入虚拟机去修改一些配置。

  1. 先给root修改一下密码,默认root是没有密码的。

    sudo passwd root

    修改完了之后,切换到root用户

    su root
  2. 通过Virtual Box进入虚拟机,默认账号和密码都是:vagrant
    这里写图片描述

  3. 进入文件夹/etc/ssh,修改配置文件sshd_config

    cd /etc/ssh
    vi sshd_config

    将配置中的
    这里写图片描述
    修改为
    这里写图片描述

  4. 重启sshd.service服务

    systemctl restart sshd.service
  5. 本地使用Xshell连接虚拟机,运行命令如下:

    ssh 127.0.0.1 2200

    在弹出的窗口,输入用户名和密码就进入了虚拟机。ssh表示连接的命令,127.0.0.1 2200可以从vagrant up的时候的输出命令中找到。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐