Docker入门2:在Linux(CentOS 7)中,安装docker;

说明:

(1)本篇博客演示在Linux系统上,安装docker;

(2)本篇博客特别要说明一点:Linux的内容是非常多的,而自己目前掌握的只是一些表面上的皮毛;总之一句话,任重道远;

(3)说明:Docker可以安装在Mac系统中,也可以安装在Windows系统中,也可以安装在Linux系统中;但是,由于:Docker本身是在Linux上开发出来的,所以在Linux上运行docker会更加的原生、更加的稳定;而且,我们在实际开发中,也是大都使用Linux系统,所以,这儿,我们主要演示在Linux系统中安装docker;

(4)声明,一个待解决的暂留问题:

         ● 我们在【Linux搭建java环境(部署OA系统)二:在MySQL服务器上安装MySQL 8;】中,把MySQL的rpm文件,导入到yum安装源中;

         ● 本篇博客,在/etc/yum.repos.d/中,添加docker的源docker-ce.repo;

这两种情况,在本质上有什么区别;自己其实并不是特别的清楚;究其原因是对Linux的yum没有很好的掌握;留着吧,以后有精力了在回头补充吧;

目录

一:在Mac系统或者Windows系统中,安装docker;

二:在Linux(CentOS 7)上,安装docker;

1.查看Linux系统版本:确认是CentOS 7;

2.把系统的【基础yum源仓库CentOS-Base.repo】,从【CentOS自带的,指向国外的yum源仓库】修改为【国内阿里的yum源仓库】;

(1)回顾一下,yum源是啥;

(2)首先,我们替换掉初始的yum源的文件:CentOS-Base.repo文件;(即,把我们自己Linux系统上的yum源文件,替换为指向国内的仓库yum源文件;)

(3)然后,使用【yum clean all】,清除原先的yum的缓存;

(4)然后,使用【yum makecache】,读取新的软件源;

3.卸载旧的docker(如果我们以前安装过docker的话);

4.根据我们新替换的【yum源文件:CentOS-Base.repo】,去更新系统上已经安装的基础软件;

(1)使用【yum check-update】:根据我们新替换的【yum源文件:CentOS-Base.repo】去查看一下,系统已经安装的软件,有哪些是可以更新的;

(2)使用【yum update】,根据我们新替换的【yum源文件:CentOS-Base.repo】,去更新系统上当前安装的每个软件包;

(3)可以使用【yum repolist】,去查看源是否生效;

5.在安装docker之前,需要安装【yum-utils】、【device-mapper-persistent-data】、【lvm2】;

6.添加docker的源,这儿我们使用的是【阿里提供的,docker的yum源仓库】;

7.查看所有可选的docker的版本;

8.安装docker;

9.启动docker;


一:在Mac系统或者Windows系统中,安装docker;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第1张图片

Docker入门2:在Linux(CentOS 7)中,安装docker;_第2张图片

Docker入门2:在Linux(CentOS 7)中,安装docker;_第3张图片

Docker入门2:在Linux(CentOS 7)中,安装docker;_第4张图片

说明:

(1)我们很少在Windows系统上使用docker,所以在Windows系统上安装docker虽然很简单,但我们接触的会很少;(对于Windows系统,docker要求是win10,64位)

(2)docker有商业版和社区版;我们使用免费社区版,对于个人开发者来说就足够了; 


二:在Linux(CentOS 7)上,安装docker;

说明:本案例中,Linux版本是CentOS 7;为此,自己重新创建了一个虚拟机,安装了一个崭新的CentOS系统;test-docker;有关Linux及虚拟机的内容,如有需要可以参考【(13)Linux基础】专栏中的内容;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第5张图片

1.查看Linux系统版本:确认是CentOS 7;

说明:这一步,主要是确认我们的Linux实例,是不是CentOS 7版本;

使用如下命令,查看Linux版本;

cat /etc/redhat-release

Docker入门2:在Linux(CentOS 7)中,安装docker;_第6张图片

说明:

(1)cat是Linux提供的一个文本工具,其可以查看文件的内容、合并文件、显示文件内容等;如有需要可以参考【Linux入门八:Linux的其他文本工具:echo,cat,tail,grep;】;

2.把系统的【基础yum源仓库CentOS-Base.repo】,从【CentOS自带的,指向国外的yum源仓库】修改为【国内阿里的yum源仓库】;

说明:这一步,其实和docker还没有半毛钱关系;无论我们要不要安装docker,只要自己新创了一个Linux实例,然后怕安装软件的时候从国外网站下载慢的话,都需要这一步设置;

PS:这部分的内容,如果有不明白的可以参考:

【Linux进阶七:bash shell入门;】,

【Linux入门十:CentOS软件方式之:【yum方式】安装和卸载程序;】,

【Linux搭建java环境(部署OA系统)二:在MySQL服务器上安装MySQL 8;】;

……………………………………………………

(1)回顾一下,yum源是啥;

         ● 我们知道,很多软件,会针对不同的系统提供相应的安装包;比如tree、docker等很多软件,就会提供其针对CentOS系统的安装包,然后比如docker也提供了针对Windows和Mac系统的安装包;

         ● CentOS系统是红帽公司开发的产品;CentOS会有一个仓库,比如docker提供了针对CentOS的安装包,那么在CentOS的仓库中就会有docker这个软件的数据源;

         ● 那么,如果一个软件的数据源在CentOS的仓库中,我们就可以使用yum的方式,去安装这个软件;

         ● 所以,CentOS的这个仓库,也可以称作yum源;

         ● 但是,需要注意两点:(1)docker在CentOS仓库中的数据源,并不是docker的本身的安装包;(2)但也有些软件比如MySQL等,虽然提供了针对CentOS的安装包,但是在CentOS的仓库中,却没有MySQL的数据源;那么,对于MySQL这种【提供了针对CentOS的安装包,但在CentOS的仓库中,却没有数据源】的软件来说,我们就需要下载【MySQL为“centos7的yum安装方式而准备的”数据源】,把数据源添加到CentOS的yum源中去,然后我们就可以愉快的使用yum的方式安装MySQL了;

         ● 自然,CentOS系统中默认的仓库是在国外的;我们在使用CentOS默认的yum源,去安装软件的时候,就可能会出现网速比较慢等问题;

         ● 我们可以使用【ls /etc/yum.repos.d/】这个,去查看CentOS系统的yum源的文件;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第7张图片

……………………………………………………

(2)首先,我们替换掉初始的yum源的文件:CentOS-Base.repo文件;(即,把我们自己Linux系统上的yum源文件,替换为指向国内的仓库yum源文件;)

使用以下命令:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.rep​o

从【http://mirrors.aliyun.com/repo/Centos-7.repo】这个地址下载Centos-7.repo,然后把Centos-7.repo这个文件以CentOS-Base.repo的名字保存到 /etc/yum.repos.d/目录中去;那么,实际的效果就是,【 /etc/yum.repos.d/中原先的CentOS-Base.repo】被【我们下载的Centos-7.repo,改名后的CentOS-Base.repo】给替换掉了;

         ● 【wget命令】:从指定的网址下载对应的文件到当前目录;但是又因为我们最小化版本安装的Linux可能没有安装这个命令,所以,如果需要的话先使用【yum install -y wget】安装wget命令;

         ● 执行上述命令之前,可以看下 /etc/yum.repos.d/目录下的内容:

Docker入门2:在Linux(CentOS 7)中,安装docker;_第8张图片

         ● 执行完上述命令后,可以看下 /etc/yum.repos.d/目录下的内容:可以看到,Centos_Base.repo文件已经被替换掉了;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第9张图片

……………………………………………………

(3)然后,使用【yum clean all】,清除原先的yum的缓存;

         ● 参考自【yum clean all的作用】:

Docker入门2:在Linux(CentOS 7)中,安装docker;_第10张图片

         ● 注意:但是,【yum clean all】这个命令,在自己不能完全hold住情况下,在自己实际开发的时候,千万不要轻易使用;否则可能会造成一些不太好挽回的后果;

……………………………………………………

(4)然后,使用【yum makecache】,读取新的软件源;

使用【yum makecache】后,其会按照我们新的那个CentOS-Base.repo文件,去找一些源地址;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第11张图片

         ● 个人归纳(不一定对):我们不是替换了新的、指向阿里yum源仓库的CentOS-Base.repo文件了嘛;然后,使用【yum makecache】命令,就可以将阿里yum源仓库中的软件信息缓存到本地,以提高后续搜索、安装软件的速度;

         ● 参考自【yum makecache的作用】;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第12张图片

3.卸载旧的docker(如果我们以前安装过docker的话);

说明:这一步,主要目的是,如果我们以前在系统上安装过docker的话,如果我们想要重新装,就需要把以前安装的给卸载;防止干扰和出现问题;

如果,我们之前在当前系统上安装过docker,那么为了安装新的docker,我们需要把以前安装的docker给卸载;使用下面的命令,卸载docker;

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

         ● 自然,因为我们的CentOS是个全新的、最小版本的镜像,而且我们是新装的系统;我们没有安装过docker,所以我们在卸载的时候,yum报告未安装这些软件包;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第13张图片

         ● 我们在安装docker的时候,如果不删除以前安装的docker的相关文件,那么就会出现严重的冲突,造成很多不好排查的问题;

4.根据我们新替换的【yum源文件:CentOS-Base.repo】,去更新系统上已经安装的基础软件;

说明:这一步,和docker依旧没有半毛钱关系;无论我们要不要安装docker,只要我们系统的【基础yum源仓库CentOS-Base.repo】更改了,那么为了能让【我们的系统】和【更改后的这个仓库】保持一致,我们就需要按照【更改后的这个仓库】去更新和升级我们系统的基础软件;

(1)使用【yum check-update】:根据我们新替换的【yum源文件:CentOS-Base.repo】去查看一下,系统已经安装的软件,有哪些是可以更新的;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第14张图片

……………………………………………………

(2)使用【yum update】,根据我们新替换的【yum源文件:CentOS-Base.repo】,去更新系统上当前安装的每个软件包;

执行【yum update】命令后,其会经过:【根据需要更新的情况,检查需要更新多少软件包、下载多少软件包;】、【下载软件包】、【更新软件】、【程序更新完后,会清理掉刚才下载的安装包】、【清理完后,就会进行最后的验证】、【验证完之后,就会列出本次更新了哪些软件】;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第15张图片

         ● 可以参考【教程:15个Yum更新命令示例】;这篇博客写的挺好;

         ● 简单来说【yum update】是这个意思:【我们安装了Linux系统,然后这个系统上会默认安装一些软件】→【而且,可以发现我们的这个Linux镜像是2020年的,两年过去了,其中的很多软件一定更新了】→【而且,我们Linux原先,也有其默认的yum源仓库,这个仓库指向的是国外的CentOS默认的yum源仓库】→【我们现在是2022年;而且,我们更换了Linux系统的yum源仓库,修改为了国内的阿里的yum源仓库;】→【那么,两年过去了,再加上我们更换了yum源仓库;;;;Linux系统中的软件肯定有很多需要更新,还可能会安装一些新的软件包】(在升级应用程序时需要安装新软件包的原因是,某些新软件包可能已成为该Linux发行版的一部分,或者某些升级后的应用程序可能依赖于尚未安装的其他软件包。)→【那么,执行yum update,就会完成这个更新操作】;

         ● 我们使用【yum update】更新了系统上的软件后,如果我们再次运行【yum update】,其就会提示没有可更新的软件;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第16张图片

……………………………………………………

(3)可以使用【yum repolist】,去查看源是否生效;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第17张图片

5.在安装docker之前,需要安装【yum-utils】、【device-mapper-persistent-data】、【lvm2】;

说明:这一步,和docker有一丢丢的关系;只要我们的系统需要经常使用yum,那么为了更好的维护yum和提高其性能,我们都可以安装【yum-utils】;安装【yum-utils】以后,我们就可以使用yum-config-manager等比较方便的操作yum了;比如,后面我们就借助yum-config-manager,来添加docker-ce.repo;

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

Docker入门2:在Linux(CentOS 7)中,安装docker;_第18张图片

         ● 参考自【【yum】CentOS7.x上主包及其依赖的下载】;yum-utils是管理repository及扩展包的工具,包含一系列yum工具,本实验中我们用到其中的  repotrack,直接下载指定的包,包括所有依赖一块完成,实乃解决软件依赖之利器!

         ● 参考自【Docker学习笔记(一) - Docker安装】;安装yum-utils是为方便添加yum源使用的,device-mapper-persistent-data和lvm2是储存设备映射(devicemapper)必须的两个软件包。

         ● 参考自【容器技术(一)Docker 安装】:yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2;

6.添加docker的源,这儿我们使用的是【阿里提供的,docker的yum源仓库】;

说明:这一步,为了说明其目的,阐述以下逻辑:【docker官方有docker这个软件的仓库(PS:国内阿里、清华等,也都建立了docker的人软件仓库)】→【对于CentOS系统来说,我们是使用yum的方式,来在安装docker】→【那么,对于yum方式安装软件,我们就需要在本地有对应仓库的repo文件;;;也就是说,我们要想在本地通过yum方式,通过连接官方仓库,安装docker,那么我们就需要在本地有docker官方仓库的repo文件】→【考虑到网络问题,这儿我们使用的阿里提供的docker仓库,那么我们就需要添加阿里docker仓库的,repo源】;

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo:使用超级管理的权限;【yum-config-manager】:配置yum;【--add-repo】:增加一个仓库,这就是具体的配置内容;【http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo】这地址是阿里云的docker的yum源仓库;

(1)参考自【Docker安装与镜像的使用】;官方的yum源安装docker比较慢, 我们选用的是国内比较快的yum源(阿里云);

(2)/etc/yum.repos.d/中的repo是什么;摘抄自【/etc/yum.repos.d是什么?】;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第19张图片

(3)我们增加docker-ce.repo仓库前后,/etc/yum.repos.d/中,仓库的变化;

         ● 在我们设置之前,/etc/yum.repos.d/中的仓库有如下几个:

Docker入门2:在Linux(CentOS 7)中,安装docker;_第20张图片

         ● 在我们设置之后,/etc/yum.repos.d/中的仓库有如下几个:

Docker入门2:在Linux(CentOS 7)中,安装docker;_第21张图片

(4)我们增加docker-ce.repo仓库前后,在软件仓库中,查找docker,结果的变化;

         ● 在我们设置之前,在软件仓库中,查找docker;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第22张图片

         ● 在我们设置之后,在软件仓库中,查找docker;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第23张图片

Docker入门2:在Linux(CentOS 7)中,安装docker;_第24张图片

PS:深刻感受到,Linux的内容是非常多的,而自己了解的只是其中的九牛一毛;

7.查看所有可选的docker的版本;

说明:这一步,主要目的是查看,docker有哪些版本可供我们选择安装;

使用下面的命令,查看所有可以安装的docker的版本;

yum list docker-ce --showduplicates | sort -r

Docker入门2:在Linux(CentOS 7)中,安装docker;_第25张图片

         ● 我们尽量选择stable这种稳定的版本;

8.安装docker;

说明:这一步,就是安装docker,这儿我们选择安装18.09.0版本的docker;

使用下面的命令,去安装18.09.0版本的docker;

yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io

Docker入门2:在Linux(CentOS 7)中,安装docker;_第26张图片

9.启动docker;

说明:我们安装完docker后,还需要把它给启动起来;

使用下面的命令,启动docker;

systemctl start docker

(1)systemctl命令,专门就是用来管理Linux系统中的各种服务的;我们在【Linux进阶二:应用服务化;(以将redis配置为系统服务为例)(其中包括大量【systemctl】系统命令)】就以redis为例,大量使用到了systemctl命令;

(2)效果;

(3)可以使用【docker version】或者【docker info】去看下,docker究竟有没有启动起来;

Docker入门2:在Linux(CentOS 7)中,安装docker;_第27张图片

Docker入门2:在Linux(CentOS 7)中,安装docker;_第28张图片

Docker入门2:在Linux(CentOS 7)中,安装docker;_第29张图片

如果使用【docker version】或者【docker info】,可以看到上面的内容,就表示docker安装成功,并且也已经启动了;

你可能感兴趣的:((20)线程池,分布式,Docker,Nginx,MQ:入门,docker)