vagrant 连不上虚拟机怎么恢复虚拟机

vagrant box配置本地开发环境以及常见错误解决方案 - CSDN博客
vagrant box配置本地开发环境以及常见错误解决方案
这里有一个参考链接(
一:准备各种材料了
(1)VirtualBox ()
(2)vagrant ()
(3)vagrant box (
二:开始安装
(1)安装VirtualBox (可以更换安装目录,然后直接下一步下一步就可以啦)
(2)安装vagrant (这个最好就默认安装吧,因为涉及到目录的指向)
(3)安装完vagrant,然后可以在你的工作盘里面创建一个文件夹来安装虚拟机了,比如我是这样:E:\centos6。然后在终端里进入这个目录:&
第一:执行安装命令:
(这里的add centos6——centos6就是为虚拟机box起的别名,便于以后操作。E:/vagrantbox/centos6.box就是上面准备材料中第三步准备的vagrant box)
第二:初始化开发环境
这样基础的安装就成了,下面就是修改配置文件Vagrantfile了。文件修改如下:
Vagrant.configure(&2&) do |config|
config.vm.box = &centos6&
config.vm.network &forwarded_port&, guest: 80, host: 80
config.vm.network &private_network&, ip: &192.168.33.10&
config.vm.synced_folder &D:/workplace/code&, &/home/www/&
第三:启动虚拟机
还是在当前目录下,输入vagrant up命令,启动虚拟机
第四:ssh链接虚拟机
进入nginx的配置文件目录:
下面就是根据自己的需要去添加自己的配置文件了,当然记得去配置一下自己虚拟机的hosts文件(如果域名访问不到的话)
整体就是这样,下面是一些vagrant常用的命令:
(1)vagrant init # 初始化
(2)vagrant up # 启动虚拟机
(3)vagrant halt # 关闭虚拟机
(4)vagrant reload # 重启虚拟机
(5)vagrant ssh # SSH 至虚拟机
(6)vagrant status # 查看虚拟机运行状态
(7)vagrant destroy # 销毁当前虚拟机
三:一些常见的错误
(1)vagrant up时报如下错误:
angel:vagrant $ vagrant up
Bringing machine ‘default‘ up with ‘virtualbox‘ provider...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Available bridged network interfaces:
1) en0: 以太网
2) en1: Wi-Fi (AirPort)
3) bridge100
What interface should the network bridge to? 2
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
ARPCHECK=no /sbin/ifup eth1 2& /dev/null
Stdout from the command:
Device eth1 does not seem to be present, delaying initialization.
Stderr from the command:
解决方案&虽然vagrant up启动报错,但是vagrant
ssh还是能登陆虚拟机的,进入虚拟机后,执行如下命令
sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
对, 问题就处在在持久网络设备udev规则(persistent network device udev rules)是被原VM设置好的,再用box生成新VM时,这些rules需要被更新。而这和Vagrantfile里对新VM设置private network的指令发生冲突。删除就好了。
再次启动就没问题了(vagrant reload)。
(2)使用vagrant box add centos6 E:\vagrantboxfile\centos.box命令出现如下错误时:
Couldn't open the file \vagrantboxfile\centos.box
解决方案:
将centos.box文件放到你要初始化的目录下,直接用下面的命令,&vagrant box add centos6 centos.box,不要再写绝对路径了,这样就可以安装成功了。
本文已收录于以下专栏:
相关文章推荐
综合以下两篇文章的内容进行转载,加上自己的实践做内容修改:
vagrant提供了将本机文件夹同步到虚拟机目录下的功能,默认是将vagrant的初始化目录同步到虚拟机/vagrant目录下:
打开配置文件Vagrantfile,找到如下...
vagrant的配置文件Vagrantfile详解。在我们的开发目录下有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the...
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
Vagrant让虚拟化技术走近寻常家。脚踏实地地说,网络上类似“两分钟...
CentOS 6.5 , VBox 4.3 , Vagrant 1.6.5 , Panamax 启动报错:
The following SSH command responded with ...
配置VirtualBox的镜像文件存放位置vagrant和VirtualBox安装完成后,默认存放虚拟机镜像文件的位置在系统盘,建议存储在其他磁盘下,具体步骤如下:
打开VirtualBox,打开管理...
box简介box实际上是vagrant克隆一台虚拟机的基础镜像。
vagrant开源社区提供了很多box的下载地址,使用国外的源添加box会遇到下载速度比较慢的情况,分享我下载的box文件,如下:
修改了Vagrantfile文件后,运行vagrant reload命令,控制台直接报错了,错误如下/opt/vagrant/embedded/gems/gems/vagrant-1.7.2/lib/...
在学习区块链项目 Hyperledger Fabric时,因为他们使用了Vagrant作为虚拟机,所以,就先学习了一下Vagrant,下面是vagrant的安装教程。概述Vagrant是一个基于Rub...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)用户名:lovelace521
文章数:117
评论数:231
访问量:956141
注册日期:
阅读量:1297
阅读量:3317
阅读量:584839
阅读量:470369
51CTO推荐博文
缘由:&&&&在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看。真实缘由:&&&&& 说实话是电脑配置太低,win7系统,3G内存,08年的品牌机,所以扛不住Vmware的,以前也是一直在用Vmware,但是面对面前的这台电脑,也只能呵呵了~期间曾经用过一段Ubuntu,由于工作原因,需要实时QQ进行交流,所以又呵呵了~至于大家说什么wine+QQ,什么个人开发的Ubuntu上可运行的QQ,我又只能呵呵了~个人感受:&&&&& 感觉想当年玩过的H3C、Cisco的模拟器一样,Dos窗口下来完成一切,实在是有种黑的不能再黑的赶脚~&&&&& vagrant的打包功能类似Vmware的克隆,打包之后可以拿给其他人去用,统一的平台,统一的软件结构,作为开发测试的一个公共平台实在是极好的~&&&&& 重新封包的box拿到其它机器上去运行,依旧会存在网卡重新生成的情况,需要手动清除(仅针对使用 private_network的模式)&&&&&&唯一的不同点就是Vmware的克隆出来一个虚机很大很大,而vagrant重新封包依旧是小巧玲珑~关于vagrant:&&&&Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源虚拟化系统,使用 Chef创建自动化虚拟环境。详细操作步骤:工具及环境介绍:工具及环境版本下载地址宿主机环境win7 x64 旗舰版/VirtualBoxVirtualBox-4.3.12-93733-Winvagrantvagrant_1.6.3boxCentOS-6.3-x86_64-minimal.boxxshellxshell_4.0.097/download/main.html亮点来了,请仔细看额:1、安装VirtualBox&&&&(略)2、安装vagrant&&&&3、下载box&&&&4、安装xshell5、正式开始进行操作~新建一个文件夹作为工作目录650) this.width=650;" src="/wyfs02/M02/2D/0F/wKiom1OSioTR5URAAACu7S2Z7UY792.jpg" title="floder.jpg" alt="wKiom1OSioTR5URAAACu7S2Z7UY792.jpg" />打开一个dos窗口,初始化该目录,然后导入boxNote: 导入box的默认指令vagrant box add name uri& &但是由于直接制定uri的话,就相当于在线下载了,那速度是相当的慢啊,所以这里我就事先下载好 & 了,直接导入即可vagrant&init
vagrant&box&add&centos6.3&j:\迅雷下载\CentOS-6.3-x86_64-minimal.box& &650) this.width=650;" src="/wyfs02/M00/2D/10/wKioL1OSij_iG-P8AAJYBBp2EYQ738.jpg" title="import box new.jpg" alt="wKioL1OSij_iG-P8AAJYBBp2EYQ738.jpg" />修改Vagrantfile配置文件,该文件管控着虚拟机的运行我这里比较懒,直接网上找了一个相关的配置文件,修改了下,就直接用了文件来源:&&&&修改后的文档:启用了四个虚拟机,内存均为256M#&-*-&mode:&ruby&-*-
#&vi:&set&ft=ruby&:
app_servers&=&{
&&&&:http&=&&'192.168.58.20',
&&&&:php&=&&'192.168.58.21'
Vagrant.configure("2")&do&|config|
&&&&config.vm.box&=&"centos6.3"
&&&&config.vm.define&:haproxy&do&|haproxy_config|
&&&&&&&&haproxy_config.vm.network&:private_network,&ip:&"192.168.58.10"
&&&&&&&&haproxy_config.vm.network&:forwarded_port,&guest:&80,&host:&8080
&&&&&&&&config.vm.provider&:virtualbox&do&|vb|
&&&&&&&&&&&&vb.name&=&"haproxy"
vb.customize&["modifyvm",&:id,&"--memory",&"256"]
&&&&&&&&end
&&&&app_servers.each&do&|app_server_name,&app_server_ip|
&&&&&&&&config.vm.define&app_server_name&do&|app_config|
&&&&&&&&&&&&app_config.vm.hostname&=&"#{app_server_name.to_s}.vagrant.internal"
&&&&&&&&&&&&app_config.vm.network&:private_network,&ip:&app_server_ip
&&&&&&&&&&&#&app_config.vm.synced_folder&"../app",&"/opt/app"
&&&&&&&&&&&&app_config.vm.provider&"virtualbox"&do&|vb|
&&&&&&&&&&&&&&&&vb.name&=&app_server_name.to_s
vb.customize&["modifyvm",&:id,&"--memory",&"256"]
&&&&&&&&&&&&end
&&&&&&&&end
&&&&config.vm.define&:redis&do&|redis_config|
&&&&&&&&redis_config.vm.hostname&=&"redis.vagrant.internal"
&&&&&&&&redis_config.vm.network&:private_network,&ip:&"192.168.58.30"
&&&&&&&&redis_config.vm.provider&"virtualbox"&do&|vb|
&&&&&&&&&&&&vb.name&=&"redis"
&&&&&&&&&&&&vb.customize&["modifyvm",&:id,&"--cpuexecutioncap",&"50"]
&&&&&&&&&&&&vb.customize&["modifyvm",&:id,&"--memory",&"256"]
&&&&&&&&end
end开启虚拟机,这里你可以完全开启,也可以只开启一台PS: 第一次开启的时候,建议一台一台的开启,这样的话方便记录ssh连接端口号(个人偏好使用xshell)&&&&650) this.width=650;" src="/wyfs02/M01/2D/10/wKiom1OSirrjv-atAAMGtNXhIRM901.jpg" title="up machine.jpg" alt="wKiom1OSirrjv-atAAMGtNXhIRM901.jpg" />使用xshell链接测试连接账号:vagrant连接密码:vagrantsu到root下密码:vagrant650) this.width=650;" src="/wyfs02/M02/2D/10/wKiom1OSjRqik3AYABNM92GMGRI148.gif" title="auth.gif" alt="wKiom1OSjRqik3AYABNM92GMGRI148.gif" />常用命令vagrant&box&list&&&&&&&&&&&&&#&列出当前导入的box
vagrant&destory&&&&&&&&&&&&&&#&***machine
vagrant&box&remove&[name]&&&&#&移除box
vagrant&up&[name]&&&&&&&&&&&&#&启动machine&&&&&&&&&&&&&&&&&
vagrant&halt&[name]&&&&&&&&&&#&关闭machine&
vagrant&status&[name]&&&&&&&&#&查看machine的状态& &650) this.width=650;" src="/wyfs02/M01/2D/10/wKiom1OSkgvigxC3AAOL1p0Y_aA953.jpg" title="help.jpg" alt="wKiom1OSkgvigxC3AAOL1p0Y_aA953.jpg" />打包&&&&关闭当前机器,然后打包(我这里为haproxy这台机器安装了epel源)& &650) this.width=650;" src="/wyfs02/M01/2D/10/wKioL1OSk9aQOWCQAAFUqYl-aSc429.jpg" title="check status.jpg" alt="wKioL1OSk9aQOWCQAAFUqYl-aSc429.jpg" />& &650) this.width=650;" src="/wyfs02/M01/2D/11/wKioL1OSlV_i0lmnAALGREpaV-E798.jpg" title="export box.jpg" alt="wKioL1OSlV_i0lmnAALGREpaV-E798.jpg" />写到这里好像要打完收工了,还有啥~额,还有好多知识没有说vagrant的几种网卡类型使用过程中碰到的问题,后续在更新吧~使用感受:& & 搭建了一个haproxy + tomcat的环境,三台机器全开,占用系统资源也不是很大,跑起来绝对没问题,也挺流畅~参考文档:斌哥的网站: 爽神的网站: Vagrantfile借用站点:官方站点: 吐槽大会:这玩意用起来也就那么回事,是蛮方便的,但是对于程序猿来说也是一个头大的事情,而且Dos窗口那么不和谐~ 等到图形界面和VirtualBox完全整合了的话,估计就是一键点击下的事了,不过到那个时候又不知道会有什么新的工具出来,总的来说,能用,有亮点,但是亮点不是完全超越性的~ 本文出自 “” 博客,谢绝转载!
了这篇文章
类别:┆阅读(0)┆评论(0)
10:20:19 15:22:22 14:48:46 15:17:51虚拟机 下的最新文章
Ɣ/div>通过 Vagrant 搭建虚拟机环境_服务器应用_Linux公社-Linux系统门户网站
你好,游客
通过 Vagrant 搭建虚拟机环境
作者:Linux
Laravel 致力于让 PHP 开发体验更愉快,也包含你的本地开发环境。 提供了一个简单、优雅的方式来管理与供应虚拟机。
Laravel Homestead 是一个官方预载的 Vagrant「封装包」,提供你一个美好的开发环境,你不需要在你的本机端安装 PHP、HHVM、网页服务器或任何服务器软件。不用担心搞乱你的系统!Vagrant 封装包可以搞定一切。如果有什么地方出现故障,你可以在几分钟内快速的销毁并重建虚拟机。
Homestead 可以在任何 Windows、Mac 或 Linux 上面运行,里面包含了 Nginx 网页服务器、PHP 5.6、MySQL、Postgres、Redis、Memcached 还有所有你要开发精彩的 Laravel 应用程序所需的软件。
附注: 如果您是 Windows 的用户,您可能需要启用硬件虚拟化(VT-x)。通常需要通过 BIOS 来启用它。
Homestead 目前是构建且测试于 Vagrant 1.7 版本。
Node (With Bower, Grunt, and Gulp)
Beanstalkd
安装与配置
安装 VirtualBox / VMWare 与 Vagrant
在启动你的 Homestead 环境之前,你必须先安装
和 . 两套软件在各平台都有提供易用的可视化安装程序。
除了 VirtualBox 之外, Homestead 也支持 VMware. 如果使用 VMware 作为 provider, 你需要购买 VMware Fusion / Desktop 以及 . VMware 提供了更快、性能更好的共享文件夹。
增加 Vagrant 封装包
当 VirtualBox / VMware 和 Vagrant 安装完成后,你可以在终端机以下列命令将 'laravel/homestead' 封装包安装进你的 Vagrant 安装程序中。下载封装包会花你一点时间,时间长短将依据你的网络速度决定:
vagrant box add laravel/homestead
如果这个命令失败了, 你可能安装的是一个老版本的 Vagrant 需要指定一个完整的 URL:
vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead
安装 Homestead
你可以简单地通过手动复制资源库的方式来安装 Homestead。将资源库复制至你的 "home" 目录中的 Homestead 文件夹,如此一来 Homestead 封装包将能提供主机服务给你所有的 Laravel(及 PHP)应用:
git clone https://github.com/laravel/homestead.git Homestead
一旦你克隆完 Homestead 仓库,从 Homestead 目录中执行 bash init.sh 命令来创建 Homestead.yaml 配置文件:
bash init.sh
此 Homestead.yaml 文件,将会被放置在你的 ~/.homestead 目录中。
配置你的 Provider
在 Homestead.yaml 文件中的 provider 键表明需要使用的 Vagrant prodiver:virtualbox 、 vmware_fusion (Mac OS X)、或者 vmware_workstation (Windows),你可以根据自己的喜好设定 provider 。
provider: virtualbox
配置你的 SSH 密钥
然后你需要编辑 Homestead.yaml。可以在文件中配置你的 SSH 公开密钥,以及主要机器与 Homestead 虚拟机之间的共享目录。
如果没有 SSH 密钥的话, 在 Mac 和 Linux 下,你可以利用下面的命令来创建一个 SSH 密钥组:
ssh-keygen -t rsa -C "you@homestead"
在 Windows 下,你需要安装
并且使用包含在 Git 里的 Git Bash 来执行上述的命令。另外你也可以使用 PuTTY 和 PuTTYgen。
一旦你创建了一个 SSH 密钥,记得在你的 Homestead.yaml 文件中的 authorize 属性指明密钥路径。
配置你的共享文件夹
Homestead.yaml 文件中的 folders 属性列出了所有你想在 Homestead 环境共享的文件夹列表。这些文件夹中的文件若有变动,他们将会同步在你的本机与 Homestead 环境里。你可以将你需要的共享文件夹都配置进去。
如果要开启 NFS,只需要在 folders 中加入一个标识:
- map: ~/Code
to: /home/vagrant/Code
type: "nfs"
配置你的 Nginx 站点
对 Nginx 不熟悉?没关系。sites 属性允许你简单的对应一个 域名 到一个 homestead 环境中的目录。一个例子的站点被配置在 Homestead.yaml 文件中。同样的,你可以加任何你需要的站点到你的 Homestead 环境中。Homestead 可以为你每个进行中的 Laravel 应用提供方便的虚拟化环境。
你可以通过配置 hhvm 属性为 true 来让虚拟站点支持 :
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
hhvm: true
Each site will be accessible by HTTP via port 8000 and HTTPS via port 44300.
Bash Aliases
如果要增加 Bash aliases 到你的 Homestead 封装包中,只要将内容添加到 ~/.homestead 目录最上层的 aliases 文件中即可。
启动 Vagrant 封装包
当你根据你的喜好编辑完 Homestead.yaml 后,在终端机里进入你的 Homestead 文件夹并执行 vagrant up 命令。
Vagrant 会将虚拟机开机,并且自动配置你的共享目录和 Nginx 站点。如果要移除虚拟机,可以使用 vagrant destroy --force 命令。
为了你的 Nginx 站点,别忘记在你的机器的 hosts 文件将「域名」加进去。hosts 文件会将你的本地域名的站点请求指向你的 Homestead 环境中。在 Mac 和 Linux,该文件放在 /etc/hosts。在 Windows 环境中,它被放置在 C:\Windows\System32\drivers\etc\hosts。你要加进去的内容类似如下:
192.168.10.10
homestead.app
务必确认 IP 地址与你的 Homestead.yaml 文件中的相同。一旦你将域名加进你的 hosts 文件中,你就可以通过网页浏览器访问到你的站点。
http://homestead.app
继续读下去,你会学到如何连接???数据库!
通过 SSH 连接
要通过 SSH 连接上您的 Homestead 环境,在终端机里进入你的 Homestead 目录并执行 vagrant ssh 命令。
因为你可能会经常需要通过 SSH 进入你的 Homestead 虚拟机,可以考虑在你的主要机器上创建一个"别名" 用来快速 SSH 进入 Homestead 虚拟机:
alias vm="ssh vagrant@127.0.0.1 -p 2222"
一旦你创建了这个别名,无论你在主要机器的哪个目录,都可以简单地使用 "vm" 命令来通过 SSH 进入你的 Homestead 虚拟机。
你也可以在 Homestead 目录使用 vagrant ssh 命令。
连接数据库
在 Homestead 封装包中,已经预了 MySQL 与 Postgres 两种数据库。为了更简便,Laravel 的 local 数据库配置已经默认将其配置完成。
如果想要从本机上通过 Navicat 或者 Sequel Pro 连接 MySQL 或者 Postgres 数据库,你可以连接 127.0.0.1 的端口 33060 (MySQL) 或 54320 (Postgres)。而帐号密码分别是 homestead / secret。
附注: 从本机端你应该只能使用这些非标准的连接端口来连接数据库。因为当 Laravel 运行在虚拟机时,在 Laravel 的数据库配置文件中依然是配置使用默认的 3306 及 5432 连接端口。
增加更多的站点
在 Homestead 环境上架且运行后,你可能会需要为 Laravel 应用程序增加更多的 Nginx 站点。你可以在单一个 Homestead 环境中运行非常多 Laravel 安装程序。有两种方式可以达成:第一种,在 Homestead.yaml 文件中增加站点然后在 Homestead 目录中执行 vagrant provision。
Note: 这个操作是具有破坏性的,当执行 provision 命令,你现有的数据库会被摧毁并重新创建。
另外,也可以使用存放在 Homestead 环境中的 serve 命令文件。要使用 serve 命令文件,请先 SSH 进入 Homestead 环境中,并执行下列命令:
serve domain.app /home/vagrant/Code/path/to/public/directory 80
附注: 在执行 serve 命令过后,别忘记将新的站点加进本机的 hosts 文件中。
以下的端口将会被转发至 Homestead 环境:
SSH: 2222 & Forwards To 22
HTTP: 8000 & Forwards To 80
HTTPS: 44300 & Forwards To 443
MySQL: 33060 & Forwards To 3306
Postgres: 54320 & Forwards To 5432
增加额外端口
你也可以自定义转发额外的端口至 Vagrant box,只需要指定协议:
- send: 93000
- send: 7777
protocol: udp
是由 SensioLabs 创建的一个分析工具,它会自动的收集代码执行期间的相关数据,比如 RAM, CPU time, 和 disk I/O. 如果你使用 Homestead ,那么使用这个分析工具会变得非常简单。
blackfire 所需的包已经安装在 Homestead box 中,你只需要在 Homestead.yaml 文件中设置 Server ID 和 token :
blackfire:
- id: your-server-id
token: your-server-token
client-id: your-client-id
client-token: your-client-token
当你设定完 Blackfire 的凭证信息,使用 vagrant provision 令配置生效。当然,你也需要通过阅读 来学习如何在你的浏览器中安装 Blackfire 扩展。
如何使用vagrant在虚拟机安装集群
Vagrant 中高效的 Puppet 模块管理
使用 Vagrant 和 Fabric 用于集成测试
使用 Vagrant 搭建开发环境
Windows 下配置 Vagrant 环境
使用 Vagrant 搭建开发环境
本文永久更新链接地址:
相关资讯 & & &
& (12/31/:27)
& (12/29/:25)
& (03月19日)
& (12/29/:48)
& (12/29/:36)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Vagrant常用命令_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Vagrant常用命令
&&Windows下使用Vagrant和Virtualbox工具安装Linux虚拟环境心得
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 vagrant 创建虚拟机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信