前言
本文详细介绍了如在Centos系统上安装Docker的社区版本,为后面搭建学习和测试环境提供了基础。
什么是Centos
CentOS(Community Enterprise Operating System,社区企业操作系统)是Linux发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。
由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。
什么是Docker
Docker类似虚拟机,是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。
Docker分两个版本:
- CE(Community Edition)
- EE(Enterprise Edition)
CE版本是免费的,如果我们学习或者一般应用,CE足够。EE版本在安全性上有很大提升,是收费版本,可以试用一定时间。
Docker容器和虚拟机的主要区别在于,虚拟机管理程序对整个设备进行抽象处理,而容器只是对操作系统内核进行抽象处理。相对于虚拟机,容器可以“丢弃没有用的99.9%的虚拟机垃圾,剩下一个小巧简洁的胶囊式容器,里面含有你的应用程序”。
安装流程
下面将介绍使用yum安装Docker。
yum介绍
Yum(全称为 Yellow dog Updater, Modified)是一个在 Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
卸载旧版本
较旧的Docker版本称为docker
或docker-engine
。如果已安装这些程序,请卸载它们以及相关的依赖项。
sudo yum docker, docker-client, docker-common
sudo yum remove docker, docker-client, docker-client-latest, docker-common, docker-latest , docker-latest-logrotate, docker-logrotate , docker-engine
更新yum
此条命令升级所有包还有内核
yum -y update
若不升级内核,可输入
yum -y upgrade
Centos7装Docker的坑
如果你的版本选择的是Centos7,恭喜你只要一步就可以安装完毕.
yum -y install docker
安装完毕后,直接跳到验证步骤吧。
别急别急,先别跳,这个默认安装的docker版本号为1.13.1。
查阅相关资料,Docker是在1.13.1后正式推出企业版(2017年),版本号也从此发生了变化,由原来的1.13.1升级到了17.03(即表示17年3月),从此Docker有了docker-ee
和docker-ce
之分。
前者为企业版,后者为社区版。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
再回头来看,这个1.13.1这个版本已经比较老了,2017年出的,现在都2020年了。所以装了此版本的,执行上面的卸载命令,装免费的社区版本吧。要不然遇到一些版本bug,让你哭死!
好了,Centos8的用户等着不耐烦了,开始安装社区版本了。
安装必备依赖项
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-util提供yum-config-manager
功能,另外两个是devicemapper
驱动依赖的包。
添加yum的源
为了安装docker的社区版本,需要给yum添加源,这里提供两种方式:
1.添加国内源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.添加官方源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
这两个源下载的docker-ce.repo
是一样的,执行上述其中一条命令后,就生成了 /ect/yum.repos.d/docker-ce.repo
这个文件,查看里面的内容,如图1所示。
![](https://img.haomeiwen.com/i5744080/a33eeb350aedc175.png)
可以看到只有 [docker-ce-stable] 是启用的,即enabled=1
,其他诸如 docker-ce-edge、docker-ce-test 都是禁用的。
在这里说明一下,stable是Docker的一个版本意思,社区版按照stable和edge两种方式发布,每个季度更新stable版本,每个月份更新edge版本。
另外,test版本是预发布版本,也就是下一个大版本的测试作品。
如果需要启动docker-ce-edge,需要执行以下命令:
sudo yum-config-manager --enable docker-ce-edge
执行完后,再打开文件,可以看到 docker-ce-edge的enabled=1
了。
如果要禁用,通过命令:
sudo yum-config-manager --disable docker-ce-edge
安装Docker CE
确保成功添加源以后,可以愉快地安装Docker了。
可以选择直接安装最新的Docker社区版本:
sudo yum -y install docker-ce --nobest
--nobest: use not only best candidate packages
如果在生产环境,往往不是安装最新版本,而是安装指定版本,那么可以先通过如下命令查看版本:
yum list docker-ce --showduplicates|sort -r
可以看到如下结果:
![](https://img.haomeiwen.com/i5744080/fd227cba6d544008.png)
由图2,可以看到,截止2020年7月15日,最新版本为19.03.12
。
安装生产环境指定需要的版本:
sudo yum install docker-ce-19.03.12
启动docker
安装好后,启动docker服务
sudo systemctl start docker
检测流程
查看Docker版本
docker -v
Docker version 19.03.12, build 48a66213fe
启动测试应用
sudo docker run hello-world
该命令会下载一个test镜像,并在容器中运行。输出如下,表示已正确安装:
Unable to find image 'hello-world:latest' locally
...
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
设置Docker的开机自启
设置为开机自动激活单元并现在立刻启动
systemctl enable --now docker
参考资料
[1] docker安装_菜鸟教程
[2] Docker入门学习
网友评论