virtualBox+vagrant制作CentOS7.9镜像过程

Posted teamlet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了virtualBox+vagrant制作CentOS7.9镜像过程相关的知识,希望对你有一定的参考价值。

1、下载安装 virtualBox (version 6.1.32);

https://www.virtualbox.org/wiki/Downloads

2、下载安装vagrant (version 2.2.19);

https://www.vagrantup.com/downloads

3、下载CentOS7.9最小安装版 CentOS-7-x86_64-Minimal-2009.iso;

http://isoredirect.centos.org/centos/7/isos/x86_64/
http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/

4、启动virtualBox,创建新的虚拟机
命名为:CentOS7.9-miba(mini base)
配置为:4G内存、4核CPU、8G硬盘;

5、第一个网卡设置成NAT形式,并设置端口转发:

IP:127.0.0.1; 主机Port: 2222;虚拟机Port: 22;


6、安装CentOS7.9系统,设置root用户密码为 vagrant

7、创建用户 vagrant ,密码为 vagrant

8、安装完成后,用 root 用户登录。

9、测试网络:

ping baidu.com

(应该是不通的)。

10、修改网络配置

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

设置NOBOOT,改为yes;注意 文件第四行的值是 dhcp!

11、重新启动网络

service network restart

12、测试网络:

ping baidu.com

(应该可以ping通)

13、关闭防火墙:

systemctl stop firewalld.service

14、禁止防火墙开机启动:

systemctl disable firewalld.service

15、设置vagrant sudo权限

执行 visudo,在文件最后一行(非常重要!!!)不在最后一行无效!

加上

vagrant ALL=(ALL) NOPASSWD: ALL

NOPASSWD: 冒号后面有一个空格

16、设置 sshd:

vi /etc/ssh/sshd_config

取消划红线参数的注释;

17、设置ssh密钥

(先 reboot 一下,让前面的设置生效。)

reboot

使用 vagrant 登录。

yum -y install wget

cd /home/vagrant && mkdir .ssh

chmod 0700 .ssh && chown vagrant:vagrant .ssh

cd .ssh

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

chmod 0600 authorized_keys

chown vagrant:vagrant authorized_keys

上面 .ssh 的 0700 和 authorized_keys 的 0600 读写权限非常重要,如果权限不对,vagrant将无权限 ssh 登录系统。

18、安装增强功能准备

yum -y update #更新内核和升级软件包
yum -y install g++ gcc gcc-c++ bzip2 make
kernel kernel-devel kernel-* reboot

19、挂载增强iso包

mkdir -p /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom && ./VBoxLinuxAdditions.run

reboot

20、打包

cd d:\\vagrant-build

vagrant package --base <CentOS7.9-mb> --output CentOS7.9-mini-base.box

21、添加安装包到vagrant环境

vagrant box add CentOS7.9-mini-base CentOS7.9-mini-base.box

22、查看安装结果

vagrant box list

23、使用

mkdir box_test

cd box_test

vagrant init CentOS7.9-mini-base

小结:

1、第五步如果端口没做转发,会导致 vagrant up的时候,ssh auth method:private key 之后报 vagrant ssh authentication failure

2、如果 .ssh 不是 0700 ,authorized_keys 不是 0600 ,用户不是 vagrant:vagrant 也会出现 ssh authentication failure

3、第十五步如果把 vagrant 的设置放到 root 后面,会导致 vagrant 无法执行 mkdir -p /vagrant 的测试命令。

4、如果设置正确,启动出现

default: Warning: Connection reset. Retrying...
default: Warning: Connection aborted. Retrying...

错误,请多次重新尝试。

以上是关于virtualBox+vagrant制作CentOS7.9镜像过程的主要内容,如果未能解决你的问题,请参考以下文章

virtualBox+vagrant制作CentOS7.9镜像过程

virtualBox+vagrant制作CentOS7.9镜像过程

Vagrant - 使用 Packer 制作 Box 虚拟机镜像

golang开发:开发环境搭建vagrant+VirtualBox

如何制作一个vagrant box

VirtualBox+Vagrant环境配置