使用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
複製代碼

參考文檔

  • https://thornelabs.net/2013/11/11/create-a-centos-6-vagrant-base-box-from-scratch-using-virtualbox.html
  • https://www.dravetech.com/blog/2016/01/14/vagrant_box_ios_xr.html
  • http://blog.pangyanhan.com/posts/2015-11-10-creating-a-vagrant-base-box.html
相關文章
相關標籤/搜索