阅读 595

使用vagrant基于官方的box制作自己的基础box

使用vagrant启动虚拟机

mkdir base && cd base
cat >Vagrantfile<<EOF
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
# centos-7.4-docker-17为你想使用的基础box
config.vm.box = "centos-7.4-docker-17"
config.ssh.insert_key = false
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--name", "will"]
end
config.vm.synced_folder ".", "/vagrant", disabled: true
end
EOF

# 启动
vagrant up
复制代码

登录配置安装相关软件

# 使用xshell等ssh工具登录
# 配置源
# 安装配置所需要的软件

# 安装完成关机前做如下清理操作

# 删除网卡mac信息
rm -f /etc/udev/rules.d/70-persistent-net.rules

# 删除临时文件
yum clean all
apt-get clean
rm -rf /tmp/*
rm -f /var/log/wtmp /var/log/btmp

# 清除命令历史记录
history -c
> .bash_history
sudo su - vagrant
history -c
> .bash_history

# 关机
vagrant halt
复制代码

制作基础box

cat >Vagrantfile.base<<EOF
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
# Disable synced folders
config.vm.synced_folder ".", "/vagrant", disabled: true
end
EOF

# will为之前启动时设置的vm名
vagrant package --base will --vagrantfile Vagrantfile.base --output will-base.box
复制代码

测试

# 添加制作完成的box
vagrant box add base will-base.box

# 初始化
vagrant init base

# 启动
vagrant up

# 登录
# 如果能ssh连接成功,表示基础box配置正确
vagrant ssh-config
vagrant ssh
复制代码

参考文档