初始化Vagrant工程并启动虚拟机
1 2
| vagrant init "centos/7" vagrant up
|
Vagrantfile内容如下
1 2 3
| Vagrant.configure("2") do |config| config.vm.box = "centos/7" end
|
虚拟机中安装VBoxGuestAdditions
- 将VBoxGuestAdditions.iso解压到Vagrant工程目录
- 执行安装命令
1 2
| sudo yum install kernel-headers kernel-devel gcc make sudo /VBoxGuestAdditions/VBoxLinuxAdditions.run
|
备注: VBoxGuestAdditions.iso可以从Virtualbox安装目录下找到.
虚拟机中安装Docker
1 2 3 4 5 6 7 8 9 10
| sudo yum install -y yum-utils
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER newgrp docker docker info
|
设置不安全的ssh公钥
1 2
| echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key " >> ~/.ssh/authorized_keys
|
备注:此步骤如果不进行,会导致基于此Box的虚拟机无法启动(ssh认证失败).
导出box
1 2
| vagrant package --base centos-with-docker_default_1615543273586_25894
|
在Vagrant工程目录可以看到导出的package.box.
测试Box
1 2 3 4 5
| vagrant box add --name my-box package.box mkdir test-box cd test-box vagrant init my-box vagrant up
|
参考
- General Guide to Creating Base Box
- Creating a Virtualbox Base Box
- insecure keypair