使用virtualbox制作符合自己需求vagrant box,之前在网上找了一些教程,有的很是有坑的。今天尝试了一下。用的是centos7.7的mini镜像
VirtualBox 先安装 5.2.20(之前安装docker-tool自带的)
Vagrant 再安装 2.2.7
windows 需开启VT-x / AMD-V硬件加速 BIOS 找到 Intel Virtual Technology
下载CentOS-7-x86_64-Minimal-1908.iso镜像
- 打开VirtualBox安装7的虚拟机,安装自己的需求选择内存和硬盘,这里我选择的内存为3G,硬盘为30G,开发足够了(名称vagrant-centos-77)
- 设置root密码为vagrant,非root用户为vagrant密码vagrant
- 以root账户登录,设置网络,在这之前应该ping不通外网
- vi /etc/sysconfig/network-scripts/ifcfg-enp0s3设置NOBOOT,改为yes
- 最后重启网络 :service network restart
- 如果ping不通外网把防火墙关闭
- systemctl stop firewalld.service #停止firewall
- systemctl disable firewalld.service #禁止firewall开机启动
- 配置 vagrant 账号免密操作。在 root 下面增加一行 vagrant ALL=(ALL) NOPASSWD:ALL 保存退出。
- chmod 0777 /etc/sudoers
- vi /etc/sudoers
- 执行 chmod 0440 /etc/sudoers 恢复默认权限。
- 配置ssh登录
- 默认centos7会安装openssh,如果没有安装执行:yum install openssh-server
- vi /etc/ssh/sshd_config把一下内容取消注释
- 下载 vagrant 官网公钥(这个我在做的过程中,发现公钥好像没用了,vagrant会自动生成公钥的),并修改.ssh为vagrant组
- cd /home/vagrant && mkdir .ssh
- wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
- mv vagrant.pub .ssh/authorized_keys
- chown vagrant:vagrant -R .ssh
- 设置共享目录。安装增强功能,在安装之前需要安装编码工具
- 方法一,手动安装工具
- yum install -y gcc gcc-c++ make bzip2 kernel kernel-devel
- 方法二,官方推荐(不过我发现还是需要安装 kernel kernel-devel)
- yum update
- yum groupinstall “Development Tools”
- yum install -y kernel kernel-devel
- 关机后设置存储,挂上增强包的iso
- 用root登陆后执行安装 (查看lsscsi (适用于centos7) lsblk (适用于ubuntu))
- cd / && mkdir cdrom && mount /dev/cdrom /cdrom
- cd /cdrom && ./VBoxLinuxAdditions.run
- 在安装过程中会有一个错误,原因可以查看日志,好像是桌确实桌面环境的包,网上说要安装xorg-x11-server-Xorg,如果没有图形界面,我不建议装,这个不影响结果,安装包会自动跳过
- 方法一,手动安装工具
- 配置网络设置,添加一个转到主机2222的端口,好像还要添加一个网卡
- 网卡一
- 网卡二
- 导出已经安装好的盒子
- vagrant package –base 虚机中的名字–output 自己给盒子起的名字.box
- 验证自己制作的盒子
- vagrant box add centos77 vagrant-centos-base77.box
- vagrant init centos77
- Vagrant up
- 已经登陆上去了,贴一下我的vagrantfile
- 一下为文件 使用 VirtualBox 制作 Vagrant box