第一步:安装虚拟机
1、安装 vagrant
本机是 mac, 但是这一步不影响,找对应操作系统的安装方式就行了。
vagrant 下载地址
brew install vagrant
2、下载 VirtualBox 虚拟机
VirtualBox 下载地址
找到对应系统下载,安装就可以。 尽量把虚拟机和 vagrant 放到一个文件夹中,规避一些问题.后面的 vagrant 命令都要 在这个文件目录下执行。
3、下载一个 centos 7 box 镜像
这一步比较重要,这一步就是通过执行一个 vagrant 命令得到一个 Vagrantfile 文件,这个文件,就是后面我们用来启动虚拟系统的凭据。如果直接执行 vagrant init centos/7 命令,在后面更新 yum 源 的时候,会出现各种 Metadata file does not match checksum ,超时等各种问题,不管是你使用的是华为库,还是阿里库,等等。都会报错。这个问题我踩了几天的坑。查询了网上的各种资料,都不能完全解决问题。最后摸索了下面这个方式。亲测没有问题
采用本地镜像导入的方式,需要实现下载 一个 box 镜像. 这个很小,不要害怕,并不是 ISO那种大镜像。
centos 7 官方box 下载地址
下载下面这个就可以。
如果上面 box 链接出现问题,可以下载百度网盘的
链接: https://pan.baidu.com/s/1P6DKxar1H5kjHEifqk7n7Q 提取码: hx96
下载到本地后,同样放到 vagrant 的同一个目录下。这样未来规避一些未知问题
4、添加 box镜像
#查看所有box 镜像
vagrant box list #如果存在通过在线init 安装的镜像,则可以先删除
vagrant box remove centos/7#添加一个镜像到本地仓库 box-name 就类似一个别名
# vagrant box add [box-name] [box镜像文件或镜像名]
# 比如我的:
vagrant box add centos/7 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box#查看box 镜像 是否安装成功
vagrant box list
安装成功后会出现这个。
5、初始化 box
vagrant init centos/7
执行该命令后,会在目录中生成一个 Vagrantfile 文件。
该文件中都是默认配置,我们修改一下 Vagrantfile 文件, 使用下面内容。可以启动多 Node,更改 hostname 和 ip就行
# -*- mode: ruby -*-
# vi: set ft=ruby :Vagrant.configure("2") do |config|config.vm.hostname = "node"config.vm.box = "centos/7"config.vm.network "private_network", ip: "192.168.56.100", netmask: "255.255.255.0"config.vm.provider "virtualbox" do |vb|# 设置虚拟机的名称vb.name = "node"# 设置虚拟机的内存大小vb.memory = "2048"# 设置虚拟机的CPU个数vb.cpus = 2endend
6、启动镜像
vagrant up
如果出现下面红色信息,可以忽略,不影响启动
There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.
启动后,打开 virtualBox 软件,就能看到虚拟机已经启动,配置也是按照 Vagrantfile 中生成的
执行命令登录到虚拟机
vagrant ssh
7、打开登录密码配置(非必须)
如果后续你有 scp 等命令操作,需要打开登录密码配置。
vagrant 的默认账号 root 密码: vagrant
vi /etc/ssh/sshd_config
修改这个参数,原数据是 no: PasswordAuthentication yes
第二步:安装 docker
1、更新 yum 源
sudo yum update
这一步如果出现问题,就多执行几遍。
如果这一步问题比较多,那么去看一下上面 box镜像是否是本地安装。在线安装的话,这一步问题比较多。
2、安装需要的软件包
yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置yum源为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo