关键词:
介绍
平时工作一直在Linux上做开发,Docker用的比较多,最近要用Vagrant搭建Linux开发环境,所以用了一下,整理一些资料。
Vagrant其实是一个可以方便设置使用虚拟机的工具,底层支持VirtualBox和VMWare,我的Windows机器上已经安装了VirtualBox,我就基于VirtualBox说说怎么使用吧。
安装
首先从下面地址下载vagrant安装包,直接安装可执行文件就可以了。
https://www.vagrantup.com
虚拟机管理
通常情况下,我们可以通过下面两个命令来创建并启动虚拟机,但是由于下载实在太慢,所以不建议这么玩。
vagrant init centos/7
vagrant up
我们可以先通过 https://app.vagrantup.com/boxes/search 地址,直接下载虚拟机的vbox文件,然后基于这个vbox文件来创建虚拟机。
比如,这里我使用下面地址来下载CentOS7的vbox文件
https://app.vagrantup.com/centos/boxes/7
文件名为:CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box
创建centos7目录,然后把CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box文件复制到目录下。
添加虚拟机
D:\\vagrant\\centos7> vagrant box add centos7 CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos7' (v0) for provider:
box: Unpacking necessary files from: file://D:/vagrant/centos7/CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box
box:
==> box: Successfully added box 'centos7' (v0) for 'virtualbox'!
初始化
D:\\vagrant\\centos7> vagrant init centos7
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.
经过这一步后,会在当前目录下产生Vagrantfile文件,这个文件类似于Docker里的Dockerfile文件。
启动虚拟机
D:\\vagrant\\centos7> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos7_default_1576066403778_3997
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (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:2222
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/d/vagrant/centos7/ => /vagrant
查看虚拟机
D:\\vagrant\\centos7>vagrant box list
centos7 (virtualbox, 0)
访问虚拟机
虚拟机启动后,可以通过两种方式登录到虚拟机里
第一种方式是通过vagrant ssh命令方式
D:\\vagrant\\centos7>vagrant ssh
[vagrant@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
第二种方式是通过ssh 127.0.0.1 2222命令方式。在使用vagrant up启动虚拟机的过程种,日志里会打印下面信息
...
==> default: Forwarding ports...
default: 22 (guest) => 2222 (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:2222
default: SSH username: vagrant
default: SSH auth method: private key
...
这是告诉我们vagrant做了一个端口转发,把容器的22端口映射成当前物理机的2222端口,用户是vagrant,使用private key认证。其中private key文件默认位置在当前虚拟机目录下的.vagrant\\machines\\default\\virtualbox\\private_key文件。此时我们就可以通过xshell来登录127.0.0.1的2222端口了。
挂起虚拟机
D:\\vagrant\\centos7>vagrant suspend
==> default: Saving VM state and suspending execution...
恢复虚拟机
D:\\vagrant\\centos7>vagrant resume
==> default: Resuming suspended VM...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
停止虚拟机
D:\\vagrant\\centos7>vagrant halt
==> default: Attempting graceful shutdown of VM...
启动虚拟机
D:\\vagrant\\centos7>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (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:2222
default: SSH username: vagrant
default: SSH auth method: private 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/d/vagrant/centos7/ => /vagrant
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
销毁虚拟机
停止当前运行的虚拟机并销毁所有创建的资源
D:\\vagrant\\centos7> vagrant destroy
删除虚拟机
D:\\vagrant> vagrant box remove centos7
实战篇:一行命令安装linux系统,超详细的vagrant上手指南(代码片段)
一行命令安装Linux演示:vagrantboxaddbento/oracle-7.9--providervirtualbox&&sudovagrantinitbento/oracle-7.9&&sudovagrantup通过上述演示,已成功安装Linux7.9,并且可以访问。前言最近发现了一款神器Vagrant 查看详情
实战篇:一行命令安装linux系统,超详细的vagrant上手指南(代码片段)
一行命令安装Linux演示:vagrantboxaddbento/oracle-7.9--providervirtualbox&&sudovagrantinitbento/oracle-7.9&&sudovagrantup通过上述演示,已成功安装Linux7.9,并且可以访问。前言最近发现了一款神器Vagrant 查看详情
inixdebug,vagrant(代码片段)
rubyvagrantfileornek#vagrant(代码片段)
vagrant初识(代码片段)
vagrant是部署虚拟开发环境的工具,他可以简化虚拟机配置,为我们搭建和配置轻量级可重用,可移植的开发环境。他能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境。 vagrant支持VirtualBox,VMware,AWS... 查看详情
vagrant入门(代码片段)
vagrant工具的使用介绍一、认识Vagrant1.1什么是vagrant?1)Vagrant是一款用来构建虚拟开发环境的工具官网地址:https://www.vagrantup.combox下载:http://www.vagrantbox.es2)基于ruby开发3)默认使用Oraclevirtualbox作为虚拟化工具,需要打开机器的... 查看详情
text灯vagrant(代码片段)
shdocker和vagrant(代码片段)
sh各种vagrant命令(代码片段)
mac下virtualbox+vagrant安装(代码片段)
mac下virtualbox+vagrant安装1.安装VirtualBoxVirtualBox下载地址?免费小巧非常适用,根据自己机器系统选择下载包图12.安装并使用Vagrant1)Vagrant下载地址?选择下载包图2安装完成后,在终端输入vagrant-v提示显示vagrant版本即安装成功并可使... 查看详情
markdown[vagrant]fedora#linux上的vagrant和virtualbox安装(代码片段)
rubyparalells的vagrantfile#vagrant(代码片段)
virtualbox+vagrant环境配置(代码片段)
VirtualBox+Vagrant环境配置1、下载安装VirtualBox和VagrantVirtualBox下载地址:https://download.virtualbox.org/virtualbox/6.1.12/VirtualBox-6.1.12-139181-Win.exeVagrant下载地址:https://releases.hashicorp.com/vagrant/2.2.9/ 查看详情
markdownmagento-vagrant-vhost(代码片段)
pythonansible的vagrant动态库存脚本(代码片段)
markdownmagento-vagrant-vhost(代码片段)
windows安装使用vagrant(代码片段)
下载:a.virtualbox:https://www.virtualbox.org/wiki/Downloadsb.vagrant:https://www.vagrantup.com/downloads.htmlc.centos7.box:http://cloud.centos.org/centos/7/vagrant/x86_64/images/安装:a.安装virtualboxb.安装vag 查看详情
vagrant常用命令(代码片段)
vagrant常用命令1.先创建一个空的目录2.vagrantinitcentos/7初始化虚拟机配置文件3.vagrantup启动虚拟机4.vagrantsshssh登录虚拟机通过exit退出5.vagrantstatus查看虚拟机状态6.vagranthalt关机7.vagrantdestroy删除虚拟机8.vagrantfile可以配置虚拟机的类型 查看详情