vagrant. 笔记 踏过的坑

虚机部署方案优势在于不以来外部开发环境,在本机即可完成服务的完整部署。通过安装vagrant软件服务,快速便捷的控制虚拟机运行环境,实现研发环境的快速搭建。

1.获取DSP全家桶
全家桶包含:

vagrant安装包
virtual安装包
dsp.box 操作系统镜像
Vagrantfile配置文件
dsp框架


步骤一:正常安装 vagrant安装包

步骤一:正常安装virtual安装包

2.载入box
mkdir ~/【name】 // 举例 mkdir ~/dsp-workspce
复制全家桶里的 dsp文件夹到 ~/ 下
cd ~/【name】
vagrant box add 【YourName】 【workspace-name】 (你自己的.box文件全路径)
3.初始化并启动vagrant
vagrant init 【name】

拷贝全家桶里的Vagrantfile到该目录下,文件中的

config.vm.box = "ds-centos-dev" 名字改为 【YourName】

4. 尝试启动vagrant 虚机
vagrant up

如有报错,可直接执行6 修改完私钥之后重新up

5.安装vagrant组件
步骤一:删除原有源
gem source -r https://rubygems.org/


步骤二:添加国内源
gem sources -a https://gems.ruby-china.com/


步骤三:检查源配置是否合格
gem sources -l


步骤四:安装组件,支持centos7的目录映射
vagrant plugin install vagrant-vbguest


步骤五:reload环境
vagrant reload --provision

如有报错,可直接执行6 修改完私钥之后在进行重载操作

6.修改本地vagrant私钥信息


步骤一:通过命令获取本地存储私钥的文件地址

vagrant ssh-config

步骤二:修改私钥文件

// 修改私钥文件

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEArdoJrHtIWktaA3kU8KxUx0MfmWSzPeybEZJn5pfQefQyFbJ7
HacVOWHAggQHZ5yMH8tVaIjQoTq7ZGsBrxpwK0wkiXS+2bytskGiF/ogXvlQuHX6
dseEL49Gnt37Go7QPcFAlQs0e6Br1lHGBJCderl589PN1xsDq3DOr2bwslXTFJU8
qCHltGeawjbAUGijcKEY/GbQcCv91q9fklov9k5xYuaWi+RC94NzXTrJJS9tpH2e
Gwa4Y/wng7wVBjmDbZKg3LiR8GkNPCFNs7cgDh/5RlM7e3re73c89SAqEvvj8nY/
QQDP4gIiwl1rqM6UXeXlrv712PzJEfpRcIWXCQIDAQABAoIBAQCkHm17cnZ/Jxs2
pBtsiIMQCQHPoQzErJRHJlsHiNG6Dxko+nDXMWAL54gANSV4XoS5jw51vJKXYgZ9
abcRQngZp6vmR1vT2RZwbR1EXVAp2FqniFiFwRu8ehlE6HGgRKm5YrJBAW7uNicX
D+NLc+n2bRn/YDe1lT8FnVzAoQEgl+4ZtuBnmbLwKKsbeEr+R5A7YL8B04ZX9l9P
rLeywSQs+x5nr+FdqYPvMl2P/jnwY4gzlbKvXgXyaaLrBrA8EXNYhxdpKpQYcBxi
lyNeDDwSucUaTOUIjzmfsPkPPFzT5pOdq/QI9eY/m+Krw67FJ4frzf+fUuqCPWv0
+Ys9SZWxAoGBANw6RLDm/zuD8xAToW3IsNuHCd/zzqnHfmc/4FwpF92aEflMDFPS
Buv68e00LpJ6I7LTYk9X7hbhakqEGs7TofRO+rVoWvE/3StUjedhEtB2sKjDnA2q
lkGkMNLgDGwEoGEGY9zSK+Ui2aaz69hi2gvDXrgLgYjIHbVEDUyamC7rAoGBAMoX
UaVmGBxviLzISkByBmfzt1KUB3VQKI0ldvqsmmVeeTtRTXQs1cTq9v9SuZTEtf3B
E7v668mtq9fqH4O5ZVx20ZXAITGEpr3tYyT04UcBdIuhvbgyKhJM1jFo2rCIU7N/
2B3bWdxfttEhxBLIEpHkReKwRg3bj0pp+4RaK1zbAoGBAIdbxQaaJDwXYNj7x9er
Z5C2kko1F0vhEv8xEpxyoXmSDgQVSupmB90ZE4OA9DMRoUlzhVRRLkSf7e24/qUr
DLsVpCDF8EehwjW0tbeGQcMhgHlqKUt5EvtriJrEHL5zpYOdItoBz/r5DZ/ZrFcG
gxCB14D1iXthzGiyWB5CUtFbAoGALGapMpzWyVCcC1Y6MiSbUbWTXppVdSnybuh/
Vp4bog/6tNStHsxG/2fccsZ7Lbt2fNUx/8gmi/4TVnIDEI7oPUOB0tQOtvF9LRd+
A/2ljVM9hvw3UcP7yF+HY/20prqdIUACfLTX7no9EX/Is5OvuMwdqquuCJdnySK1
9yNUiacCgYBNK1kxeGeW4X8KyqsjDuz2K8DGHpEWPe2i8CyEktJRq5YNKE3CGmm8
fQHLNij8DkkVsZNTJnjIoAo6NnwcQv/wk6Ov37hdDqqmb1Z3+IVN0O5GZNjJ9KUZ
RoyYm65DlvrInqmRWGSbLbjMhY4cOzE5rBV7ckWY68ljQOeZZPYmQQ==
-----END RSA PRIVATE KEY-----

7.ssh登陆虚拟机
vagrant ssh


vagrant使用命令
vagrant init # 初始化
vagrant up # 启动虚拟机
vagrant halt # 关闭虚拟机
vagrant reload # 重启虚拟机
vagrant ssh # SSH 至虚拟机
vagrant status # 查看虚拟机运行状态
vagrant destroy # 销毁当前虚拟机

vagrant suspend # 挂起当前虚拟机
vagrant resume # 恢复被挂起的vm
vagrant box list # 列出所有box列表

vagrant box remove {base name} # 删除

vagrant destroy # 停止当前正在运行的虚拟机并销毁所有创建的资源
vagrant package # 把当前的运行的虚拟机环境进行打包,可用于分发开发环境
vagrant plugin # 安装卸载插件
vagrant provision # 设置基本的环境,进一步设置可以使用Chef/Puppet进行搭建
vagrant ssh-config # 输出ssh连接的一些信息
vagrant status # 获取虚拟机状态
vagrant version # 获取vagrant的版本

原文地址:https://www.cnblogs.com/liuqun/p/12597358.html