Vagrant自制Box

简单研究了下这个技术,有了一些心得,我实践未必按照这个方案走的,但是如果下次搞,我肯定用这套方案。

从Vagrant官方仓库下载一个最新的CentOS7 Box。加载到Vagrant中,启动起来。我们在这个虚拟机上实现各种定制化。

  1. 首先需要下载一个ssh的key,我已经做过实验了,如果不存在这个key,新制作的box在启动阶段是无法进行ssh的,也就导致无法启动成功。

wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub

cat vagrant.pub >> .ssh/authorized_keys

  1. 为root用户设置密码,并为root用户准备免密登录的文件key(这里面用了些我之前准备的文件)

sudo passwd root
su root

cd /vagrant/software/ssh
chmod +x init.sh
./init.sh

完成这些工作后,用XShell测试下,能否能行免密登录。

我这套方案其实有些复杂了,但是我也忘记我当时为什么需要通过ssh key来实现免密登录了,如果嫌麻烦,可以为root设置密码,然后通过xshll记录密码实现免密登录。

  1. 设置/etc/resolve.conf。因为我用到了透明代理,所以这个地方应该配置成我主机的ip地址。如果直接配置/etc/resolve.conf文件,新虚拟机中不会生效,所以需要配置/etc/NetworkManager/NetworkManager.conf,具体操作我还没有实践,我计划等我下次实践的时候再整理这部分。

  2. 退出虚拟机,制作box,并加载box,然后进行测试。


vagrant box package --base master --output centos7_docker
vagrant box add --name centos7_docker centos7_docker
vagrant box list

参考资料

  1. vagrant制作box