vlambda博客
学习文章列表

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

开年第一天,公司空调也没开,楼下饭馆没开门,经历了一上午的饥寒交迫,我太难了


我最近趁着假期,想系统的学习下微服务开发,在此分享下我的学习笔记,鞭策自己的同时,也希望能帮到大家


本篇文章主要介绍在Windows下使用vagrant搭建centOS虚拟机,并安装Docker,比较基础,但尽量详细,详细步骤如下

  • VirtualBox下载安装

  • Vagrant的下载安装

  • 安装centos镜像

  • 修改虚拟机端口映射

  • Docker的安装与镜像加速器配置


VirtualBox下载安装


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

下载后进行安装,建议安装至非系统盘

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境



Vagrant的下载安装


普通安装linux虚拟机太麻烦,可以利用vagrant可以帮助我们快速地创建一个虚拟机。

vagrant官方有一个镜像仓库,有好多的已经做好的镜像,我们可以用vagrant连接VirtualBox快速的创建一个虚拟机

官网:https://www.vagrantup.com/

官方镜像仓库:https://app.vagrantup.com/boxes/search

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

安装后重启系统。cmd中输入vagrant有版本代表成功了。



安装centos镜像


vagrant init 命令可初始化一个镜像,命令后面对应的就是镜像仓库中要安装镜像的名称

输入vagrant init centos/7,即可初始化一个centos7系统。

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

执行命令后,在当前目录会生成一个Vagrantfile文件(注意这个命令在哪个目录下执行的,他的Vagrantfile就生成在哪里)

然后执行vagrant up启动虚拟机环境。这个过程包含下载和初始化镜像文件

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

启动后出现default folder:/cygdrive/c/User/… =>/vagrant。然后ctrl+c退出

如图,vagrant会自动创建好ssh的账号,并启动虚拟机

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

可以在VirtualBox中看到,虚拟机已启动

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

打开cnd窗口,使用vagrant ssh 就会连上虚拟机。可以使用exit退出

也可以用 whoami 查看当前用户信息

如果要关闭虚拟机,可以在VirtualBox窗口关闭虚拟机

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境



修改虚拟机端口映射


虚拟机装好了,但假如我们要访问虚拟机中的软件怎么办呢,比如mysql默认端口3306,我们如何访问虚拟机中的mysql呢,有两种方法

1、在VirtualBox中,虚拟机-设置-网络设置-端口转发,可以设置系统的端口转发,比如将Windows的3333端口转发到虚拟机的3306端口

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

2.修改虚拟机网卡IP

但这个IP具体改成什么呢,这就需要在windows的ipconfig中查到vitualbox的虚拟网卡ip,然后更改下最后一个数字就行(不能是1)

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境

如上图,我查到虚拟机网卡IP为192.168.56.1,那么我将虚拟机IP固定为192.168.56.6

首先,在虚拟机镜像安装目录找到并打开Vagrantfile文件,修改其中的config.vm.network "private_network",ip:"192.168.56.10"列,将IP修改为我们想要的,解开注释,保存后重启虚拟机(使用vagrant reload命令可以重启虚拟机)

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境



Docker安装与镜像加速


官网 :https://www.docker.com/


Docker简单介绍

虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离

我的理解是,各个软件,比如mysql,将软件以及其运行环境做成镜像,Docker提供一个容器,基于这个镜像,可以使mysql及运行环境快速的在这个容器中跑起来


1.Docker安装

执行以下命令,注意,因为vagrant用户没有root权限,所以需要使用sudo来获取管理员权限执行这些命令

#卸载旧版本$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine$ sudo yum install -y yum-utils # 配置镜像 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/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

启动后我们可以使用 sudo docker images 命令查看Docker下载的镜像列表

新春第一篇,Windows搭建centOS虚拟机,安装Docker环境


2.配置镜像加速


因为很多软件镜像都是海外的,下载比较慢,所以我们配置一个镜像加速器,我这里选择使用阿里云

登录阿里云,进入控制台,在左侧菜单栏找到容器镜像服务

找到镜像加速器,选择我们对应的centOS,执行提供的命令

这样我们就配置好了镜像加速,今后下载镜像,我们就会从阿里云来下载镜像,下载速度会快很多