从现有的虚拟机创建vagrant box ,再利用新创建的box创建虚拟机

本人使用的虚拟机provider是virtualbox,OS是centos7

创建自己的virtualbox前,需要在virtualbox上已经搭建了一个虚拟机。如下为已经搭建好的虚拟机,虚拟机名称为cusbox_vb1

利用已经搭建好的虚拟机就可以创建自己的vagrant box。创建box之前需要先关闭虚拟机。

创建vagrant box

vagrant package --base 虚拟机的名字 --output  要创建的box的名字

如:vagrant package --base cusbox_vb1 --output cusbox

  

新创建的box位于执行vagrant命令时所在的目录

新创建的box文件如下

添加vagrant box 到默认目录

vagrant box 的默认目录为~/.vagrant.d/boxes, 其中~为用户家目录。

要使用vagrant box创建虚拟机需要先将创建好的box添加到默认目录中

vagrant box add 添加后的box名  要添加的box名vagrant box add cusbox ./cusbox 

查看默认目录中的所有box

添加后可以到默认目录(~/.vagrant.d/boxes)下查看,可以发现cusbox文件夹已经被添加

也可以使用vagrant box list命令查看默认目录下的所有box

vagrant box list

  

初始化vagrant环境,生成vagrantfile

将box添加到默认目录后就可以初始化,以下命令执行后就会生成Vagrantfile文件

vagrant init box名称  vagrant init cusbox

  

启动虚拟机

vagrant up

  

此时,虚拟机虽然可以启动,但无法认证,状况如下,这是因为没有配置ssh密钥

配置SSH密钥

上面的原因是宿主机的默认私钥错误导致认证失败,解决方式如下:

1,宿主机先执行vagrant ssh-config 查看私钥默认路径以便修改。

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2221
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/myvagrant/mkbox/Borg-web/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

  

IdentityFile即为密钥所在路径

vagrant up之后,会生成.vagrant目录,将现有的private_key复制到默认路径中去.vagrant\machines\default\virtualbox/private_key,

vagrant halt关闭后再vagrant up重新启动,这时就可以正常启动,并能通过vagrant ssh命令登录到虚拟机。

虚拟机的公钥一般是位于/home/vagrant/.ssh目录中authorized_keys文件中,

查看如下

[[email protected] .ssh]$ cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDa/VjIVZGQaTrPC1+k805wOJ+KGoLmwdLURHKT1RhhbNfBl1NYgbsZdTHAoE+nX1ksaM4p0yzFhDXxbiIYgJhg7gHkDHQpqzYXjZwZi9kLokxgA+gNfCu4HzDBFoOj2V0DaMEYnWRgHfpTR4Gw5brrfObwtkWy6iuNCok4a/j0Gpj16kfidTwOjYmGsfS7pGfQ+P9e9XUysQ9909MpT7rA30jeNbNN0gYr2p6M50wpXjyZLiTyMN+r1wq+oH3zSQ6dPmWu3cqyQlX7554sJDDGpmE8K4uGFgHmh+1neCoe0UWku3eYUcZKp5FnkfvKPVNHuW4lzY7IwKHsjWQ7q92Z vagrant
[[email protected] .ssh]$

  

2.如果没有现成的公钥和私钥,可以使用ssh-keygen命令生成

ssh-keygen

会生成如下两个文件id_rsa 和 id_rsa.pub,前一个为私钥文件,后一个为公钥文件,将此私钥文件的内容覆盖宿主机的默认文件即可解决认证问题。

因为在认证搞定之前是无法通过vagrant ssh登录的,所以通过virtual box本身的客户端功能登录,用户名和密码都是vagrant,登录后就可以利用ssh-keygen生成公钥和私钥了

登录到虚拟机

vagrant ssh

  

原文地址:https://www.cnblogs.com/gaoBlog/p/11617876.html

时间: 2024-10-26 00:25:54

从现有的虚拟机创建vagrant box ,再利用新创建的box创建虚拟机的相关文章

利用 jQuery UI 和 Ajax 创建可定制的 Web 界面

如今,网站比以往更具可定制性,允许用户更改其空间,根据自己的喜好对其进行个性化.个性化的主页或仪表板页面(例如 iGoogle.MyYahoo! 和 MyAOL)日渐普及,大多数 Web 应用程序内甚至也整合了类似的功能.jQuery 库简化了此类复杂 JavaScript 交互的编写,随着 jQuery UI 的引入,这项功能得到了进一步的简化,该库以易于访问的 jQuery 插件的形式提供了常用用户界面类型. 本文介绍了如何利用 Ajax 和 jQuery UI 创建具有各种定制功能的高度可

SDNLAB技术分享(四):利用ODL下发流表创建VxLAN网络

邓晓涛,当前就职于江苏省未来网络创新研究院,是CDN团队的一名研发人员,主要从事SDN相关的研发相关工作.曾就职于三星电子于先行解决方案研发组任高级工程师.思科系统于云协作应用技术部(CCATG)任工程师.-----------------------------------------------------------------------------------------------------[分享正文]今天想跟大家分享如何通过ODL控制器下发流表来创建VxLAN网络.ODL作为当前

利用Azure Backup备份和恢复虚拟机(2)

虚拟机注册之后,下一步就是将他们添加为受保护的项,在菜单底部,单击"保护"按照提示选择需要保护的虚拟机 ? ? 单击"下一步",在这个页面中需要选择配置虚拟机配置的策略,就是你需要什么时候执行虚拟机的备份,一般建议是的每天业务低谷的时候,比如晚上11点钟执行备份操作: 最后一项是配置你的备份文件如何保留,粒度可以按照每天,每个月,每年来定义保留策略,当然存储是收费的,所以需要根据你的业务需要来配置保留策略,比如每天的每份会默认保留180天: 在受保护的项页面可以看到

jsWindow 对象 Window 对象 Window 对象表示浏览器中打开的窗口。 如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 注释:没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。 Window 对象集合 集合 描述 frames[] 返回窗口中所有命

一.JSX简介 JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析. 如下(JS写法) var child1 = React.createElement('li', null, 'First Text Content'); var child2 = React.createElement('li', null, 'Second Text Content'); var

Oracle 11g 新特性:自动创建分区(Interval Partition)

分区(Partition)一直是Oracle数据库引以为傲的一项技术,正是分区的存在让Oracle高效的处理海量数据成为可能,在Oracle 11g中,分区技术在易用性和可扩展性上再次得到了增强.在10g的Oracle版本中,要对分区表做调整,尤其是对RANGE分区添加新的分区都需要DBA手动定期添加,或都使用存储过程进行管理.在11G的版本中的Interval Partition不再需要DBA去干预新分区的添加,Oracle会自动去执行这样的操作,减少了DBA的工作量.Interval Par

openstack 利用ceph存储之---备份还原虚拟机

本次环境为openstack K版本.ceph 版本为0.94.5 我们的虚拟机都是建立在ceph中的. 备份虚拟机: 打开openstack控制台,点击要备份的虚拟机: 获取虚拟机的id信息: 在控制节点获取,虚拟机对应的ceph中的volume id [[email protected] ceph]# nova show 1d77b49b-4263-477e-acc8-4242a3a998b3 [[email protected] ceph]# rbd ls volumes | grep 2

一个可创建读取日志的管理类(可固定创建2M大小的日志文件)

这里,将日志管理基类命名为LogManagerBase(抽象类),具体的不同类型的日志可以通过继承完成.该基类可将日志以每个2M的方式存储起来,并可以读取当前正在使用的日志的所有内容. 要实现该基类,首先要了解以下几个IO类: 命名空间:System.IO 相关类:Directory,DirectoryInfo,File,FileInfo,FileStream,StreamReader,StreamWriter 具体实现代码如下: 1 public abstract class LogManag

WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务

原文:WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在<基于IIS的WCF服务寄宿(Hosting)实现揭秘>中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式.对于前者,WCF通过HttpModule实现了服务的寄宿,而对于后者,WCF的服务寄宿通过一个HttpHandler实现.只有在ASP.NET兼容模式下,我们熟悉的

日本旧家电回收再利用启示录

改革开放以来,随着经济日益发展,我国国民收入水平不断提高,家电更新换代频率随之加快.目前我国的废旧家电数量正在急速增长,已经进入家电报废高峰,每年的报废量超过1500万台,报废量年均增长20%. 为刺激经济,进一步扩大内需,我国在2008年.2009年分别开始启动执行"家电下乡"."以旧换新"活动.其中中央财政拨20亿元资金用于家电"以旧换新"补贴,首批试点地区为北京.上海.天津.江苏.浙江.山东.广东和福州.长沙,参加以旧换新补贴的家电产品包括