基于Vagrant和virtual Box搭建linux虚拟机

Vagrant(虚拟机管理工具)

vagrant是一款方便的虚拟机管理软件,可以配合多个不同虚拟机软件一起使用。其中因vitualbox是开源软件,所以常见使用的组合是vagrant+vitualbox的方式来管理虚拟机。

简单理解,就是可以通过Vagrant这个工具管理虚拟机,比如说想创建一个centos环境的虚拟机,不需要安装系统这么麻烦,通过vagrant可以快速创建

  1. 从官网下载vagrant对应操作系统的工具包
  2. 从 vagrant官方镜像 找到对应的镜像名称。例如:centos/7

virtual Box(开源、免费、体积小)

VirtualBox 是一款开源虚拟机软件。

VirtualBox号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。它简单易用,可虚拟的系统包括Windows(从Windows 3.1到Windows 10、Windows Server 2012,所有的Windows系统都支持)、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统。使用者可以在VirtualBox上安装并且运行上述的这些操作系统。 与同性质的VMware及Virtual PC比较下,VirtualBox独到之处包括远端桌面协定(RDP)、iSCSI及USB的支持

  1. 首先,进入自己电脑的BIOS主板,开启CPU虚拟化技术。每个人的主板不一样,我的是MSI B660M,默认已经开启CPU虚拟化技术。
  2. 从官网下载安装包,然后一步步安装即可。

建议在VirtualBox的全局设定里面将默认的虚拟电脑位置移到非系统盘下,防止c盘数据过多导致崩盘。

基于Vagrant和virtual Box搭建linux虚拟机_第1张图片

详细步骤

 在windows下(建议非系统盘)创建一个新目录,我这里是D:\CentOS

D:\CentOS>

以下命令均在该目录下执行

1.初始化centos系统  centos/7就是要装的linux版本
vagrant init centos/7

2.centos系统开机
vagrant up

3.使用vagrant自动连接进入centos系统,root的密码默认为vagrant
vagrant ssh

4.新建的centos系统的默认使用的是网络地址转换和端口转发的方式,对开发不方便。所以给虚拟机设置一个固定的IP地址用来后续的开发。

5.编辑Vagrantfile文件。其中的ip地址为virtual同一网段下的ip地址即可。
	config.vm.network "private_network", ip: "192.168.56.10"
	
6.以上的ip地址修改完毕后,可以测试一下,本地系统和虚拟系统之间是否能ping通

网络地址转换(NAT):虚拟主机需要借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网,并且与物理机共用一个IP地址。

端口转发:windows系统这一个主机的端口号和虚拟主机的端口号存在对应关系

1.初始化centos系统 

vagrant init centos/7

 2.centos系统开机

vagrant up

基于Vagrant和virtual Box搭建linux虚拟机_第2张图片

3.使用vagrant自动连接进入centos系统,root的密码默认为vagrant

vagrant ssh 

 4.新建的centos系统的默认使用的是网络地址转换和端口转发的方式,对开发不方便。所以给虚拟机设置一个固定的IP地址用来后续的开发,编辑Vagrantfile文件。其中的ip地址为virtual同一网段下的ip地址即可。 config.vm.network "private_network", ip: "192.168.56.10"

基于Vagrant和virtual Box搭建linux虚拟机_第3张图片

5.以上的ip地址修改完毕后,可以测试一下,本地系统和虚拟系统之间是否能ping通 

本机ping linux:

基于Vagrant和virtual Box搭建linux虚拟机_第4张图片

 linux ping 本机

查看本机ip地址

基于Vagrant和virtual Box搭建linux虚拟机_第5张图片

基于Vagrant和virtual Box搭建linux虚拟机_第6张图片

 都能ping通

linux虚拟机安装docker

#安装前先更新yum,不然有可能出现本机无法连接虚拟机的mysql、redis等
sudo yum update
 
#卸载系统之前的docker 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
# 安装docker需要依赖的包                  
sudo yum install -y yum-utils \
> device-mapper-persistent-data \
> lvm2
 
# 配置镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
# 安装docker    
sudo yum install docker-ce docker-ce-cli containerd.io
 
# 启动docker
sudo systemctl start docker
 
# 设置开机自启动
sudo systemctl enable docker
 
# 检查docker版本
docker -v
 
# 检查docker有没有下载镜像
sudo docker images

1.使用root用户卸载过去安装的docker
 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
 

基于Vagrant和virtual Box搭建linux虚拟机_第7张图片

2.安装docker依赖包并设置本地存储库

sudo yum install -y yum-utils \
> device-mapper-persistent-data \
> lvm2

基于Vagrant和virtual Box搭建linux虚拟机_第8张图片

3.安装docker引擎(社区版)、docker社区版引擎对应的命令行、docker守护进程、规定多个docker容器的启动顺序(一路yes)

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

 基于Vagrant和virtual Box搭建linux虚拟机_第9张图片

4.启动docker

sudo systemctl start docker

5.设置开机自启动

sudo systemctl enable docker

6.检查docker版本

docker -v

7.检查docker有没有下载镜像

sudo docker images

8. 配置阿里云的镜像加速服务,登录阿里云的账号,找到镜像加速器


sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://h3jvq7u9.mirror.aliyuncs.com"]
}
EOF

基于Vagrant和virtual Box搭建linux虚拟机_第10张图片

 9.重新加载某个服务的配置文件

sudo systemctl daemon-reload

sudo systemctl restart docker

你可能感兴趣的:(vagrant,ruby,运维)