coreos 搭建PHP,vagrant box php开发环境配置 -- 重新打包发布vagrant box

现在基本差不多了,可以重新打包发布了

打包

Usage: vagrant package [options] [name|id]

Options:

--base NAME Name of a VM in VirtualBox to package as a base box (VirtualBox Only)

--output NAME Name of the file to output

--include FILE,FILE.. Comma separated additional files to package with the box

--vagrantfile FILE Vagrantfile to package with the box

-h, --help Print this help

打开virtualbox看一下虚拟机实例的名字: phptest_default_1490589998754_16798 然后打包

vagrant package --base phptest_default_1490589998754_16798 -output centos7_php7.box

等待一会儿,一个你定制好的vagrant box打包好了

你可能还有其他的软件需要提前安装,比如redis,比如nodejs,可以参照我的另一篇博客CentOS 7 安装 gitlab 8.1.7

可能遇到的问题

ssh private key

Warning: Authentication failure. Retrying... 这个问题的原因是vagrant在初始化时虚拟机实例时,如果发现insecure key,会自动生成新的key pair去替换掉默认的,打包时把新的public key打包进box。这样使用该包生成新的实例时,和默认的insecure key就不匹配了。解决方案就是在打包之前,把虚拟机中的的public key重新替换秤默认的。

cd /home/vagrant

sudo -u vagrant wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys

这时不要关闭虚拟机,把 .vagrant\machines\default\virtualbox目录下的private_key文件删除 在host系统上执行

vagrant package

这样就可以了。 还有些非常规解决方案,比如,修改ssh登录时使用用户名密码对等,

config.ssh.username = "vagrant"

config.ssh.password = "vagrant"

之前配置的端口映射需要重新配置

解决方案就是把相应的Vagrantfile打包进来

vagrant package --base xx --output centos7_php7 --vagrantfile xx

你可能感兴趣的:(coreos,搭建PHP)