10
2020
06

CentOS7 Docker 安装

CentOS7 Docker 安装

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

[root@localhost ~]# yum remove docker
已加载插件:fastestmirror
参数 docker 没有匹配
不删除任何软件包

安装 Docker Engine-Community

使用 Docker 仓库进行安装

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

[root@localhost ~]# yum install -y yum-utils \
> device-mapper-persistent-data \
>   lvm2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
base                                    | 3.6 kB     00:00    
extras                                  | 2.9 kB     00:00    
updates                                 | 2.9 kB     00:00    
updates/7/x86_64/primary_db               | 2.1 MB   00:00    
软件包 device-mapper-persistent-data-0.8.5-2.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 lvm2.x86_64.7.2.02.186-7.el7 将被 升级
---> 软件包 lvm2.x86_64.7.2.02.186-7.el7_8.2 将被 更新
--> 正在处理依赖关系 lvm2-libs = 7:2.02.186-7.el7_8.2,它被软件包 7:lvm2-2.02
.186-7.el7_8.2.x86_64 需要
---> 软件包 yum-utils.noarch.0.1.1.31-54.el7_8 将被 安装
--> 正在处理依赖关系 python-kitchen,它被软件包 yum-utils-1.1.31-54.el7_8.noa
rch 需要
--> 正在处理依赖关系 libxml2-python,它被软件包 yum-utils-1.1.31-54.el7_8.noa
rch 需要
--> 正在检查事务
---> 软件包 libxml2-python.x86_64.0.2.9.1-6.el7.4 将被 安装
---> 软件包 lvm2-libs.x86_64.7.2.02.186-7.el7 将被 升级
---> 软件包 lvm2-libs.x86_64.7.2.02.186-7.el7_8.2 将被 更新
--> 正在处理依赖关系 device-mapper-event = 7:1.02.164-7.el7_8.2,它被软件包 7
:lvm2-libs-2.02.186-7.el7_8.2.x86_64 需要
---> 软件包 python-kitchen.noarch.0.1.1.1-5.el7 将被 安装
--> 正在处理依赖关系 python-chardet,它被软件包 python-kitchen-1.1.1-5.el7.no
arch 需要
--> 正在检查事务
---> 软件包 device-mapper-event.x86_64.7.1.02.164-7.el7 将被 升级
---> 软件包 device-mapper-event.x86_64.7.1.02.164-7.el7_8.2 将被 更新
--> 正在处理依赖关系 device-mapper-event-libs = 7:1.02.164-7.el7_8.2,它被
软件包 7:device-mapper-event-1.02.164-7.el7_8.2.x86_64 需要
--> 正在处理依赖关系 device-mapper = 7:1.02.164-7.el7_8.2,它被软件包 7:devic
e-mapper-event-1.02.164-7.el7_8.2.x86_64 需要
---> 软件包 python-chardet.noarch.0.2.2.1-3.el7 将被 安装
--> 正在检查事务
---> 软件包 device-mapper.x86_64.7.1.02.164-7.el7 将被 升级
--> 正在处理依赖关系 device-mapper = 7:1.02.164-7.el7,它被软件包 7:device-ma
pper-libs-1.02.164-7.el7.x86_64 需要
---> 软件包 device-mapper.x86_64.7.1.02.164-7.el7_8.2 将被 更新
---> 软件包 device-mapper-event-libs.x86_64.7.1.02.164-7.el7 将被 升级
---> 软件包 device-mapper-event-libs.x86_64.7.1.02.164-7.el7_8.2 将
被 更新
--> 正在检查事务
---> 软件包 device-mapper-libs.x86_64.7.1.02.164-7.el7 将被 升级
---> 软件包 device-mapper-libs.x86_64.7.1.02.164-7.el7_8.2 将被 更新
--> 解决依赖关系完成

依赖关系解决

===============================================================
Package             架构   版本                 源       大小
===============================================================
正在安装:
yum-utils           noarch 1.1.31-54.el7_8      updates 122 k
正在更新:
lvm2                x86_64 7:2.02.186-7.el7_8.2 updates 1.3 M
为依赖而安装:
libxml2-python      x86_64 2.9.1-6.el7.4        base    247 k
python-chardet      noarch 2.2.1-3.el7          base    227 k
python-kitchen      noarch 1.1.1-5.el7          base    267 k
为依赖而更新:
device-mapper       x86_64 7:1.02.164-7.el7_8.2 updates 295 k
device-mapper-event x86_64 7:1.02.164-7.el7_8.2 updates 191 k
device-mapper-event-libs
                    x86_64 7:1.02.164-7.el7_8.2 updates 190 k
device-mapper-libs  x86_64 7:1.02.164-7.el7_8.2 updates 324 k
lvm2-libs           x86_64 7:2.02.186-7.el7_8.2 updates 1.1 M

事务概要
===============================================================
安装  1 软件包 (+3 依赖软件包)
升级  1 软件包 (+5 依赖软件包)

总下载量:4.2 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installe
d.
(1/10): device-mapper-event-1.02.164-7.el | 191 kB   00:00    
(2/10): device-mapper-event-libs-1.02.164 | 190 kB   00:00    
(3/10): device-mapper-1.02.164-7.el7_8.2. | 295 kB   00:00    
(4/10): device-mapper-libs-1.02.164-7.el7 | 324 kB   00:00    
(5/10): lvm2-2.02.186-7.el7_8.2.x86_64.rp | 1.3 MB   00:00    
(6/10): yum-utils-1.1.31-54.el7_8.noarch. | 122 kB   00:00    
(7/10): libxml2-python-2.9.1-6.el7.4.x86_ | 247 kB   00:00    
(8/10): python-kitchen-1.1.1-5.el7.noarch | 267 kB   00:00    
(9/10): python-chardet-2.2.1-3.el7.noarch | 227 kB   00:00    
(10/10): lvm2-libs-2.02.186-7.el7_8.2.x86 | 1.1 MB   00:02    
---------------------------------------------------------------
总计                              1.6 MB/s | 4.2 MB  00:02    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在更新    : 7:device-mapper-1.02.164-7.el7_8.2.x86    1/16
 正在更新    : 7:device-mapper-libs-1.02.164-7.el7_8.    2/16
 正在更新    : 7:device-mapper-event-libs-1.02.164-7.    3/16
 正在更新    : 7:device-mapper-event-1.02.164-7.el7_8    4/16
 正在更新    : 7:lvm2-libs-2.02.186-7.el7_8.2.x86_64     5/16
 正在安装    : python-chardet-2.2.1-3.el7.noarch         6/16
 正在安装    : python-kitchen-1.1.1-5.el7.noarch         7/16
 正在安装    : libxml2-python-2.9.1-6.el7.4.x86_64       8/16
 正在安装    : yum-utils-1.1.31-54.el7_8.noarch          9/16
 正在更新    : 7:lvm2-2.02.186-7.el7_8.2.x86_64         10/16
 清理        : 7:lvm2-2.02.186-7.el7.x86_64             11/16
 清理        : 7:lvm2-libs-2.02.186-7.el7.x86_64        12/16
 清理        : 7:device-mapper-event-1.02.164-7.el7.x   13/16
 清理        : 7:device-mapper-event-libs-1.02.164-7.   14/16
 清理        : 7:device-mapper-1.02.164-7.el7.x86_64    15/16
 清理        : 7:device-mapper-libs-1.02.164-7.el7.x8   16/16
 验证中      : libxml2-python-2.9.1-6.el7.4.x86_64       1/16
 验证中      : python-chardet-2.2.1-3.el7.noarch         2/16
 验证中      : 7:lvm2-libs-2.02.186-7.el7_8.2.x86_64     3/16
 验证中      : 7:device-mapper-event-1.02.164-7.el7_8    4/16
 验证中      : 7:device-mapper-libs-1.02.164-7.el7_8.    5/16
 验证中      : python-kitchen-1.1.1-5.el7.noarch         6/16
 验证中      : 7:lvm2-2.02.186-7.el7_8.2.x86_64          7/16
 验证中      : yum-utils-1.1.31-54.el7_8.noarch          8/16
 验证中      : 7:device-mapper-1.02.164-7.el7_8.2.x86    9/16
 验证中      : 7:device-mapper-event-libs-1.02.164-7.   10/16
 验证中      : 7:device-mapper-1.02.164-7.el7.x86_64    11/16
 验证中      : 7:lvm2-2.02.186-7.el7.x86_64             12/16
 验证中      : 7:device-mapper-event-libs-1.02.164-7.   13/16
 验证中      : 7:device-mapper-libs-1.02.164-7.el7.x8   14/16
 验证中      : 7:device-mapper-event-1.02.164-7.el7.x   15/16
 验证中      : 7:lvm2-libs-2.02.186-7.el7.x86_64        16/16

已安装:
 yum-utils.noarch 0:1.1.31-54.el7_8                          

作为依赖被安装:
 libxml2-python.x86_64 0:2.9.1-6.el7.4                        
 python-chardet.noarch 0:2.2.1-3.el7                          
 python-kitchen.noarch 0:1.1.1-5.el7                          

更新完毕:
 lvm2.x86_64 7:2.02.186-7.el7_8.2                            

作为依赖被升级:
 device-mapper.x86_64 7:1.02.164-7.el7_8.2                    
 device-mapper-event.x86_64 7:1.02.164-7.el7_8.2              
 device-mapper-event-libs.x86_64 7:1.02.164-7.el7_8.2        
 device-mapper-libs.x86_64 7:1.02.164-7.el7_8.2              
 lvm2-libs.x86_64 7:2.02.186-7.el7_8.2                        

完毕!

使用以下命令来设置稳定的仓库。

[root@localhost ~]# yum-config-manager \
>     --add-repo \
>     https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror
adding repo from: https://download.docker.com/linux/centos/dock
er-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-c
e.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

[root@localhost ~]# yum install docker-ce docker-ce-cli contain
erd.io
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
docker-ce-stable                        | 3.5 kB     00:00    
(1/2): docker-ce-stable/x86_64/updateinfo |   55 B   00:00    
(2/2): docker-ce-stable/x86_64/primary_db |  44 kB   00:00    
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.2.13-3.2.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 containerd.io-1.
2.13-3.2.el7.x86_64 需要
---> 软件包 docker-ce.x86_64.3.19.03.11-3.el7 将被 安装
--> 正在处理依赖关系 libcgroup,它被软件包 3:docker-ce-19.03.11-3.el7.x86_64
需要
---> 软件包 docker-ce-cli.x86_64.1.19.03.11-3.el7 将被 安装
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.119.1-1.c57a6f9.el7 将被 安装
--> 正在处理依赖关系 policycoreutils-python,它被软件包 2:container-selinux-2
.119.1-1.c57a6f9.el7.noarch 需要
---> 软件包 libcgroup.x86_64.0.0.41-21.el7 将被 安装
--> 正在检查事务
---> 软件包 policycoreutils-python.x86_64.0.2.5-34.el7 将被 安装
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-pyth
on-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils
-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils
-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-34.el7
.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutil
s-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutil
s-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutil
s-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-34.el
7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python
-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python
-2.5-34.el7.x86_64 需要
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.5-4.el7 将被 安装
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

===============================================================
Package                架构   版本              源       大小
===============================================================
正在安装:
containerd.io          x86_64 1.2.13-3.2.el7    docker-ce-stab
le
                                                         25 M
docker-ce              x86_64 3:19.03.11-3.el7  docker-ce-stab
le
                                                         24 M
docker-ce-cli          x86_64 1:19.03.11-3.el7  docker-ce-stab
le
                                                         38 M
为依赖而安装:
audit-libs-python      x86_64 2.8.5-4.el7       base     76 k
checkpolicy            x86_64 2.5-8.el7         base    295 k
container-selinux      noarch 2:2.119.1-1.c57a6f9.el7
                                                extras   40 k
libcgroup              x86_64 0.41-21.el7       base     66 k
libsemanage-python     x86_64 2.5-14.el7        base    113 k
policycoreutils-python x86_64 2.5-34.el7        base    457 k
python-IPy             noarch 0.75-6.el7        base     32 k
setools-libs           x86_64 3.3.8-4.el7       base    620 k

事务概要
===============================================================
安装  3 软件包 (+8 依赖软件包)

总下载量:89 M
安装大小:365 M
Is this ok [y/d/N]: y
Downloading packages:
(1/11): audit-libs-python-2.8.5-4.el7.x86 |  76 kB   00:00    
(2/11): container-selinux-2.119.1-1.c57a6 |  40 kB   00:00    
(3/11): checkpolicy-2.5-8.el7.x86_64.rpm  | 295 kB   00:00    
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/dock
er-ce-19.03.11-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature
, key ID 621e9f35: NOKEY
docker-ce-19.03.11-3.el7.x86_64.rpm 的公钥尚未安装
(4/11): docker-ce-19.03.11-3.el7.x86_64.r |  24 MB   00:03    
(5/11): libcgroup-0.41-21.el7.x86_64.rpm  |  66 kB   00:00    
(6/11): python-IPy-0.75-6.el7.noarch.rpm  |  32 kB   00:00    
(7/11): setools-libs-3.3.8-4.el7.x86_64.r | 620 kB   00:00    
(8/11): libsemanage-python-2.5-14.el7.x86 | 113 kB   00:00    
(9/11): policycoreutils-python-2.5-34.el7 | 457 kB   00:01    
(10/11): containerd.io-1.2.13-3.2.el7.x86 |  25 MB   00:08    
(11/11): docker-ce-cli-19.03.11-3.el7.x86 |  38 MB   00:05    
---------------------------------------------------------------
总计                              9.6 MB/s |  89 MB  00:09    
从 https://download.docker.com/linux/centos/gpg 检索密钥
导入 GPG key 0x621E9F35:
用户ID     : "Docker Release (CE rpm) <docker@docker.com>"
指纹       : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
来自       : https://download.docker.com/linux/centos/gpg
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 正在安装    : libcgroup-0.41-21.el7.x86_64              1/11
 正在安装    : setools-libs-3.3.8-4.el7.x86_64           2/11
 正在安装    : audit-libs-python-2.8.5-4.el7.x86_64      3/11
 正在安装    : python-IPy-0.75-6.el7.noarch              4/11
 正在安装    : libsemanage-python-2.5-14.el7.x86_64      5/11
 正在安装    : 1:docker-ce-cli-19.03.11-3.el7.x86_64     6/11
 正在安装    : checkpolicy-2.5-8.el7.x86_64              7/11
 正在安装    : policycoreutils-python-2.5-34.el7.x86_    8/11
 正在安装    : 2:container-selinux-2.119.1-1.c57a6f9.    9/11
 正在安装    : containerd.io-1.2.13-3.2.el7.x86_64      10/11
 正在安装    : 3:docker-ce-19.03.11-3.el7.x86_64        11/11
 验证中      : 2:container-selinux-2.119.1-1.c57a6f9.    1/11
 验证中      : checkpolicy-2.5-8.el7.x86_64              2/11
 验证中      : 1:docker-ce-cli-19.03.11-3.el7.x86_64     3/11
 验证中      : libsemanage-python-2.5-14.el7.x86_64      4/11
 验证中      : containerd.io-1.2.13-3.2.el7.x86_64       5/11
 验证中      : python-IPy-0.75-6.el7.noarch              6/11
 验证中      : policycoreutils-python-2.5-34.el7.x86_    7/11
 验证中      : audit-libs-python-2.8.5-4.el7.x86_64      8/11
 验证中      : setools-libs-3.3.8-4.el7.x86_64           9/11
 验证中      : 3:docker-ce-19.03.11-3.el7.x86_64        10/11
 验证中      : libcgroup-0.41-21.el7.x86_64             11/11

已安装:
 containerd.io.x86_64 0:1.2.13-3.2.el7                        
 docker-ce.x86_64 3:19.03.11-3.el7                            
 docker-ce-cli.x86_64 1:19.03.11-3.el7                        

作为依赖被安装:
 audit-libs-python.x86_64 0:2.8.5-4.el7                      
 checkpolicy.x86_64 0:2.5-8.el7                              
 container-selinux.noarch 2:2.119.1-1.c57a6f9.el7            
 libcgroup.x86_64 0:0.41-21.el7                              
 libsemanage-python.x86_64 0:2.5-14.el7                      
 policycoreutils-python.x86_64 0:2.5-34.el7                  
 python-IPy.noarch 0:0.75-6.el7                              
 setools-libs.x86_64 0:3.3.8-4.el7                            

完毕!

启动Docker,并运行HelloWorld

[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee04
5538ef34847f44f1
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working
correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the D
ocker Hub.
   (amd64)
3. The Docker daemon created a new container from that image w
hich runs the
   executable that produces the output you are currently readi
ng.
4. The Docker daemon streamed that output to the Docker client
, which sent it
   to your terminal.

To try something more ambitious, you can run an Ubuntu containe
r with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker I
D:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/



« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。