你可以在虚拟机里安装并且配置好需要的环境,然后对它进行重新打包,再把打包之后的 box 安装到系统里面。这样以后在创建项目的时候,我们就可以使用这个新打包的 box 了。
先进入到项目所在的目录,然后启动一下虚拟机 ...
vagrant up
在这个虚拟机,我们之前已经安装好了 httpd ,还有 vim ...
对它进行打包 ... 可以使用 vagrant package 命令 ... 不过再打包之前,需要先清理一样东西 ... ssh 到虚拟机
vagrant ssh
然后使用 rm 命令,删除一个文件 ...
sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules
如果不删除这个文件的话,在使用这个 box 的项目在配置好网络的时候启动以后会遇到问题。
完成以后退出一下 ... exit
打包,用的是 vagrant package ....
完成以后,会在项目的目录下面,生成一个叫 package.box 的文件 ...
下面,我们可以使用 vagrant box add ,去安装一个新的 box ..
vagrant box add 后面加上一个名字,这个名字会显示在 box 的列表里面。 这里我叫它 ninghao/centos-6.5 ...
输入一个空格,再指定一下 box 的地址 ... 因为这里我们在项目的目录下面有一个打包以后生成的 box ,它就是 package.box ...
回车 ... 这样会安装一个新的 box ,
完成以后, 我们就可以把这个生成的 box 删除掉了 ...
rm -rf package.box
查看一下 box 列表 ...
vagrant box list
你会看到一个 ninghao/centos-6.5
下面,我们可以使用这个 box 去初始化一个项目 ...
回到桌面 ... 新建一个目录 ... mkdir ninghao1 ... 进入到这个目录里面 ... cd ninghao1
再去初始化一下 ... vagrant init ,这里我们可以使用新安装的这个 box ...
vagrant init ninghao/centos-6.5
再启动虚拟机 ... vagrant up
然后 ssh 到虚拟机上 ... vagrant ssh
因为在打包之前, 我们在虚拟机上安装了 httpd,也就是 apache 服务器 ...
这里我们可以输入 which httpd ...
会显示出 httpd 的位置,说明现在这个虚拟机上已经安装了 httpd 服务
下面,我们再去查看一下 httpd 的配置文件 ... 因为我们在打包之前也已经安装了 vim 编辑器。所以可以直接使用它 ..
sudo vim /etc/httpd/conf/httpd.conf
浏览文件的最底部 ..
你会看到,这个配置文件也是我们在打包之前修改好的那个配置文件。
如果你想移除到安装在系统里的 box ,可以使用 vagrant box remove ,后面加上要移除掉的 box 的名字就行了。