Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
Centos安装docker需要操作系统是 CentOS 7 or 8,必须启用centos extras存储库。默认情况下,此存储库处于启用状态,但如果已禁用它,则需要重新启用它。
老版本的docker被称作docker 或者 docker-engine,如果有老版本的docker,把它和相关依赖一起卸载。
$ remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
官方推荐使用通过设置docker仓库的方法来安装,安装和升级都简单些。
1 设置docker仓库
第一次安装的时候需要设置docker仓库,后面就可以利用该仓库进行安装和升级docker。
需要先安装 yum-utils
包,它可以提供yum-config-manager
工具和配置稳定的仓库。
yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
2 安装docker引擎
安装最新版docker引擎和容器,或者去下一步制定一个版本安装:
$ yum install docker-ce docker-ce-cli containerd.io
如果提示接受GPG key,验证是否是060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果是,就接受。
如果启用了多个Docker存储库,则在不在yum install或yum update命令中指定版本的情况下,安装或更新总是安装可用的最高版本,这可能不适合您的稳定性需要。
上面的命令安装好了最新版的docker,但是还没有启动服务,docker组也被创建好了,但是还没有用户分配到该组。
3 安装指定版本的docker引擎
列出仓库可用的所有版本,然后选择安装,下面命令把列出的结果进行倒序排序:
[root@iZbp180j96p8y98l1s1oucZ ~]# yum list docker-ce --showduplicates | sort -r Last metadata expiration check: 0:32:38 ago on Fri 28 May 2021 06:17:26 PM CST. Installed Packages docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.6-3.el8 @docker-ce-stable docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable Available Packages
通过下面命令指定要安装的版本,例如,对于3:20.10.6-3.el8
,它的版本号是:
到-
中间的部分,也就是: 20.10.6
$ yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
用版本号替换一下,上面的命令就是:
$ yum install docker-ce-20.10.6 docker-ce-cli-20.10.6 containerd.io
4 启动docker
$ systemctl start docker
5 运行hello-world
为了验证docker正确安装并正常启动,执行自带的hello-world
镜像。
$ docker container run hello-world
如果这个hello-world
镜像默认不存在,会自动下载,然后运行这个image。