1.下载好vagrant、VirtualBox,本文采用vagrant_2.2.15_x86_64、VirtualBox-6.0.12-133076-Win版本,请注意安装地址中不能存在中文
vagrant下载地址:https://www.vagrantup.com/downloads
VirtualBox下载地址:https://www.virtualbox.org/wiki/Downloads
下载后进行无脑安装安装,安装完成后重启电脑,打开cmd窗口,执行vagrant version,如图所示即为成功
2.下载virtualbox.box文件,并将virtualbox.box添加到Vagrant中,
打开cmd命令窗口,通过vagrant box add centos/7 virtualbox.box完整路径进行添加,
添加完成后通过vagrant box list查看本地box,如图显示即为成功
virtualbox.box下载地址:https://pan.baidu.com/s/1pAvIF8jEZnUwyM5liSqgJg 提取码: 2y1y
3.新建文件夹用户初始化Vagrantfile,cmd到指定文件夹执行vagrant init centos/7,打开Vagrantfile,编辑其中内容,确认文件无误后,如果windows10有开启系统自带的虚拟机请关闭,并关闭对应虚拟机的网卡信息,否则将导致虚拟机启动失败
网卡检测如图,如果存在为其他虚拟机网卡请禁止,否则将影响vb的启动
4.环境检查无误后,在Vagrantfile文件夹对应的cmd窗口执行命令:vagrant up来启动虚拟机,如图所示启动成功
执行成功后再次输入命令vagrant ssh进入虚拟机,进入虚拟机后执行sudo -i切换到root用户
vi /etc/ssh/sshd_config 修改PasswordAuthentication yes,输入passwd修改密码,修改完成后执行systemctl restart sshd生效密码,即可通过Xshell连接
或者通过导入私钥免密登录,默认用户名:vagrant,指定命令vagrant ssh-config查看私钥配置
5.安装docker
01 进入centos7
vagrant ssh
02 卸载之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
03 安装必要的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
04 设置docker仓库 [设置阿里云镜像仓库可以先自行百度,后面课程也会有自己的docker hub讲解]
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
[访问这个地址,使用自己的阿里云账号登录,查看菜单栏左下角,发现有一个镜像加速器:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors]
05 安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
06 启动docker
sudo systemctl start docker
07 测试docker安装是否成功
sudo docker run hello-world
6.vagrant常用命令
(1)vagrant ssh
进入刚才创建的centos7中
(2)vagrant status
查看centos7的状态
(3)vagrant halt
停止/关闭centos7
(4)vagrant destroy
删除centos7
(5)vagrant status
查看当前vagrant创建的虚拟机
(6)Vagrantfile中也可以写脚本命令,使得centos7更加丰富
但是要注意,修改了Vagrantfile,要想使正常运行的centos7生效,必须使用vagrant reload
7.vagrant打包分发
01 打包
vagrant package --output first-docker-centos7.box
02 得到first-docker-centos7.box
03 将first-docker-centos7.box添加到其他的vagrant环境中
vagrant box add first-docker-centos7 first-docker-centos7.box
04 得到Vagrantfile
vagrant init first-docker-centos7
05 根据Vagrantfile启动虚拟机
vagrant up [此时可以得到和之前一模一样的环境,但是网络要重新配置]