Linux 12 yum方式安裝Docker


簡介

yum 是 Linux 的在線安裝方式,是比較方便的。

由於 yum 是在線安裝,需要從網絡獲取數據,所以得先保證系統是能聯網的,否則一定會安裝失敗。

這里使用安裝 Docker 作為示例。

操作

安裝

官網安裝參考手冊https://docs.docker.com/install/linux/docker-ce/centos/

yum -y install

語法

yum -y install 程序名

參數

-y:所有的 yes / no 都選擇 yes,確定安裝時都選擇 yes 時可以使用,可以省去一些選擇步驟。

系統版本檢測

本次示例基於 CentOS 7 進行演示,所以需要先確認系統的版本。

[root@sail ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

安裝運行環境

由於 Docker 是基於 CC++ 開發的,所以需要先安裝相關環境。

  1. 安裝 C 環境。使用如下命令:
yum -y install gcc
[root@sail ~]# yum -y install gcc
Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                                                                                                                       | 3.6 kB  00:00:00     
epel                                                                                                                                                                       | 4.7 kB  00:00:00     
extras                                                                                                                                                                     | 2.9 kB  00:00:00     
updates                                                                                                                                                                    | 2.9 kB  00:00:00     
(1/7): epel/x86_64/group_gz                                                                                                                                                |  96 kB  00:00:00     
(2/7): base/7/x86_64/group_gz                                                                                                                                              | 153 kB  00:00:00     
(3/7): epel/x86_64/updateinfo                                                                                                                                              | 1.0 MB  00:00:00     
(4/7): extras/7/x86_64/primary_db                                                                                                                                          | 243 kB  00:00:00     
(5/7): epel/x86_64/primary_db                                                                                                                                              | 7.0 MB  00:00:00     
(6/7): updates/7/x86_64/primary_db                                                                                                                                         |  12 MB  00:00:00     
(7/7): base/7/x86_64/primary_db                                                                                                                                            | 6.1 MB  00:00:01     
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.8.5-36.el7_6.2 will be updated
---> Package gcc.x86_64 0:4.8.5-44.el7 will be an update
--> Processing Dependency: libgomp = 4.8.5-44.el7 for package: gcc-4.8.5-44.el7.x86_64
--> Processing Dependency: cpp = 4.8.5-44.el7 for package: gcc-4.8.5-44.el7.x86_64
--> Processing Dependency: libgcc >= 4.8.5-44.el7 for package: gcc-4.8.5-44.el7.x86_64
--> Running transaction check
---> Package cpp.x86_64 0:4.8.5-36.el7_6.2 will be updated
---> Package cpp.x86_64 0:4.8.5-44.el7 will be an update
---> Package libgcc.x86_64 0:4.8.5-36.el7_6.2 will be updated
---> Package libgcc.x86_64 0:4.8.5-44.el7 will be an update
---> Package libgomp.x86_64 0:4.8.5-36.el7_6.2 will be updated
---> Package libgomp.x86_64 0:4.8.5-44.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================================
 Package                                       Arch                                         Version                                              Repository                                  Size
==================================================================================================================================================================================================
Updating:
 gcc                                           x86_64                                       4.8.5-44.el7                                         base                                        16 M
Updating for dependencies:
 cpp                                           x86_64                                       4.8.5-44.el7                                         base                                       5.9 M
 libgcc                                        x86_64                                       4.8.5-44.el7                                         base                                       103 k
 libgomp                                       x86_64                                       4.8.5-44.el7                                         base                                       159 k

Transaction Summary
==================================================================================================================================================================================================
Upgrade  1 Package (+3 Dependent packages)

Total download size: 22 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/4): cpp-4.8.5-44.el7.x86_64.rpm                                                                                                                                         | 5.9 MB  00:00:00     
(2/4): libgcc-4.8.5-44.el7.x86_64.rpm                                                                                                                                      | 103 kB  00:00:00     
(3/4): libgomp-4.8.5-44.el7.x86_64.rpm                                                                                                                                     | 159 kB  00:00:00     
(4/4): gcc-4.8.5-44.el7.x86_64.rpm                                                                                                                                         |  16 MB  00:00:00     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                              32 MB/s |  22 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Updating   : libgomp-4.8.5-44.el7.x86_64                                                                                                                                                    1/8 
  Updating   : libgcc-4.8.5-44.el7.x86_64                                                                                                                                                     2/8 
  Updating   : cpp-4.8.5-44.el7.x86_64                                                                                                                                                        3/8 
  Updating   : gcc-4.8.5-44.el7.x86_64                                                                                                                                                        4/8 
  Cleanup    : gcc-4.8.5-36.el7_6.2.x86_64                                                                                                                                                    5/8 
  Cleanup    : cpp-4.8.5-36.el7_6.2.x86_64                                                                                                                                                    6/8 
  Cleanup    : libgcc-4.8.5-36.el7_6.2.x86_64                                                                                                                                                 7/8 
  Cleanup    : libgomp-4.8.5-36.el7_6.2.x86_64                                                                                                                                                8/8 
  Verifying  : cpp-4.8.5-44.el7.x86_64                                                                                                                                                        1/8 
  Verifying  : gcc-4.8.5-44.el7.x86_64                                                                                                                                                        2/8 
  Verifying  : libgcc-4.8.5-44.el7.x86_64                                                                                                                                                     3/8 
  Verifying  : libgomp-4.8.5-44.el7.x86_64                                                                                                                                                    4/8 
  Verifying  : libgcc-4.8.5-36.el7_6.2.x86_64                                                                                                                                                 5/8 
  Verifying  : libgomp-4.8.5-36.el7_6.2.x86_64                                                                                                                                                6/8 
  Verifying  : cpp-4.8.5-36.el7_6.2.x86_64                                                                                                                                                    7/8 
  Verifying  : gcc-4.8.5-36.el7_6.2.x86_64                                                                                                                                                    8/8 

Updated:
  gcc.x86_64 0:4.8.5-44.el7                                                                                                                                                                       

Dependency Updated:
  cpp.x86_64 0:4.8.5-44.el7                                     libgcc.x86_64 0:4.8.5-44.el7                                     libgomp.x86_64 0:4.8.5-44.el7                                    

Complete!
  1. 安裝 C++ 環境。使用如下命令:
yum -y install gcc-c++
[root@sail ~]# yum -y install gcc-c++
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.x86_64 0:4.8.5-44.el7 will be installed
--> Processing Dependency: libstdc++-devel = 4.8.5-44.el7 for package: gcc-c++-4.8.5-44.el7.x86_64
--> Processing Dependency: libstdc++ = 4.8.5-44.el7 for package: gcc-c++-4.8.5-44.el7.x86_64
--> Running transaction check
---> Package libstdc++.x86_64 0:4.8.5-36.el7_6.2 will be updated
---> Package libstdc++.x86_64 0:4.8.5-44.el7 will be an update
---> Package libstdc++-devel.x86_64 0:4.8.5-44.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================================
 Package                                             Arch                                       Version                                            Repository                                Size
==================================================================================================================================================================================================
Installing:
 gcc-c++                                             x86_64                                     4.8.5-44.el7                                       base                                     7.2 M
Installing for dependencies:
 libstdc++-devel                                     x86_64                                     4.8.5-44.el7                                       base                                     1.5 M
Updating for dependencies:
 libstdc++                                           x86_64                                     4.8.5-44.el7                                       base                                     306 k

Transaction Summary
==================================================================================================================================================================================================
Install  1 Package  (+1 Dependent package)
Upgrade             ( 1 Dependent package)

Total download size: 9.0 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): libstdc++-4.8.5-44.el7.x86_64.rpm                                                                                                                                   | 306 kB  00:00:00     
(2/3): libstdc++-devel-4.8.5-44.el7.x86_64.rpm                                                                                                                             | 1.5 MB  00:00:00     
(3/3): gcc-c++-4.8.5-44.el7.x86_64.rpm                                                                                                                                     | 7.2 MB  00:00:00     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                              57 MB/s | 9.0 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : libstdc++-4.8.5-44.el7.x86_64                                                                                                                                                  1/4 
  Installing : libstdc++-devel-4.8.5-44.el7.x86_64                                                                                                                                            2/4 
  Installing : gcc-c++-4.8.5-44.el7.x86_64                                                                                                                                                    3/4 
  Cleanup    : libstdc++-4.8.5-36.el7_6.2.x86_64                                                                                                                                              4/4 
  Verifying  : libstdc++-4.8.5-44.el7.x86_64                                                                                                                                                  1/4 
  Verifying  : gcc-c++-4.8.5-44.el7.x86_64                                                                                                                                                    2/4 
  Verifying  : libstdc++-devel-4.8.5-44.el7.x86_64                                                                                                                                            3/4 
  Verifying  : libstdc++-4.8.5-36.el7_6.2.x86_64                                                                                                                                              4/4 

Installed:
  gcc-c++.x86_64 0:4.8.5-44.el7                                                                                                                                                                   

Dependency Installed:
  libstdc++-devel.x86_64 0:4.8.5-44.el7                                                                                                                                                           

Dependency Updated:
  libstdc++.x86_64 0:4.8.5-44.el7                                                                                                                                                                 

Complete!

卸載以前的 Docker

為避免版本之間的沖突,這里建議先卸載以前的版本再進行安裝。

[root@sail ~]# yum -y remove docker docker-common docker-selinux docker-engine
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-common
No Match for argument: docker-selinux
No Match for argument: docker-engine
No Packages marked for removal

由於這里之前沒有安裝過 Docker,所以顯示沒有匹配到。

環境准備

根據 Docker 官網的建議,需要先安裝一些環境。

yum install -y yum-utils device-mapper-persistent-data lvm2
[root@sail ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package device-mapper-persistent-data.x86_64 0:0.8.5-3.el7_9.2 will be installed
--> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64
--> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64
--> Processing Dependency: libaio.so.1()(64bit) for package: device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64
---> Package lvm2.x86_64 7:2.02.187-6.el7_9.5 will be installed
--> Processing Dependency: lvm2-libs = 7:2.02.187-6.el7_9.5 for package: 7:lvm2-2.02.187-6.el7_9.5.x86_64
--> Processing Dependency: liblvm2app.so.2.2(Base)(64bit) for package: 7:lvm2-2.02.187-6.el7_9.5.x86_64
--> Processing Dependency: libdevmapper-event.so.1.02(Base)(64bit) for package: 7:lvm2-2.02.187-6.el7_9.5.x86_64
--> Processing Dependency: liblvm2app.so.2.2()(64bit) for package: 7:lvm2-2.02.187-6.el7_9.5.x86_64
--> Processing Dependency: libdevmapper-event.so.1.02()(64bit) for package: 7:lvm2-2.02.187-6.el7_9.5.x86_64
---> Package yum-utils.noarch 0:1.1.31-54.el7_8 will be installed
--> Processing Dependency: python-kitchen for package: yum-utils-1.1.31-54.el7_8.noarch
--> Processing Dependency: libxml2-python for package: yum-utils-1.1.31-54.el7_8.noarch
--> Running transaction check
---> Package device-mapper-event-libs.x86_64 7:1.02.170-6.el7_9.5 will be installed
---> Package libaio.x86_64 0:0.3.109-13.el7 will be installed
---> Package libxml2-python.x86_64 0:2.9.1-6.el7_9.6 will be installed
--> Processing Dependency: libxml2 = 2.9.1-6.el7_9.6 for package: libxml2-python-2.9.1-6.el7_9.6.x86_64
---> Package lvm2-libs.x86_64 7:2.02.187-6.el7_9.5 will be installed
--> Processing Dependency: device-mapper-event = 7:1.02.170-6.el7_9.5 for package: 7:lvm2-libs-2.02.187-6.el7_9.5.x86_64
---> Package python-kitchen.noarch 0:1.1.1-5.el7 will be installed
--> Processing Dependency: python-chardet for package: python-kitchen-1.1.1-5.el7.noarch
--> Running transaction check
---> Package device-mapper-event.x86_64 7:1.02.170-6.el7_9.5 will be installed
--> Processing Dependency: device-mapper = 7:1.02.170-6.el7_9.5 for package: 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64
---> Package libxml2.x86_64 0:2.9.1-6.el7_2.3 will be updated
---> Package libxml2.x86_64 0:2.9.1-6.el7_9.6 will be an update
---> Package python-chardet.noarch 0:2.2.1-3.el7 will be installed
--> Running transaction check
---> Package device-mapper.x86_64 7:1.02.149-10.el7_6.8 will be updated
--> Processing Dependency: device-mapper = 7:1.02.149-10.el7_6.8 for package: 7:device-mapper-libs-1.02.149-10.el7_6.8.x86_64
---> Package device-mapper.x86_64 7:1.02.170-6.el7_9.5 will be an update
--> Running transaction check
---> Package device-mapper-libs.x86_64 7:1.02.149-10.el7_6.8 will be updated
---> Package device-mapper-libs.x86_64 7:1.02.170-6.el7_9.5 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================================
 Package                                                     Arch                                 Version                                             Repository                             Size
==================================================================================================================================================================================================
Installing:
 device-mapper-persistent-data                               x86_64                               0.8.5-3.el7_9.2                                     updates                               423 k
 lvm2                                                        x86_64                               7:2.02.187-6.el7_9.5                                updates                               1.3 M
 yum-utils                                                   noarch                               1.1.31-54.el7_8                                     base                                  122 k
Installing for dependencies:
 device-mapper-event                                         x86_64                               7:1.02.170-6.el7_9.5                                updates                               192 k
 device-mapper-event-libs                                    x86_64                               7:1.02.170-6.el7_9.5                                updates                               192 k
 libaio                                                      x86_64                               0.3.109-13.el7                                      base                                   24 k
 libxml2-python                                              x86_64                               2.9.1-6.el7_9.6                                     updates                               247 k
 lvm2-libs                                                   x86_64                               7:2.02.187-6.el7_9.5                                updates                               1.1 M
 python-chardet                                              noarch                               2.2.1-3.el7                                         base                                  227 k
 python-kitchen                                              noarch                               1.1.1-5.el7                                         base                                  267 k
Updating for dependencies:
 device-mapper                                               x86_64                               7:1.02.170-6.el7_9.5                                updates                               297 k
 device-mapper-libs                                          x86_64                               7:1.02.170-6.el7_9.5                                updates                               325 k
 libxml2                                                     x86_64                               2.9.1-6.el7_9.6                                     updates                               668 k

Transaction Summary
==================================================================================================================================================================================================
Install  3 Packages (+7 Dependent packages)
Upgrade             ( 3 Dependent packages)

Total download size: 5.3 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/13): device-mapper-event-1.02.170-6.el7_9.5.x86_64.rpm                                                                                                                  | 192 kB  00:00:00     
(2/13): device-mapper-1.02.170-6.el7_9.5.x86_64.rpm                                                                                                                        | 297 kB  00:00:00     
(3/13): device-mapper-event-libs-1.02.170-6.el7_9.5.x86_64.rpm                                                                                                             | 192 kB  00:00:00     
(4/13): device-mapper-libs-1.02.170-6.el7_9.5.x86_64.rpm                                                                                                                   | 325 kB  00:00:00     
(5/13): device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64.rpm                                                                                                           | 423 kB  00:00:00     
(6/13): libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm                                                                                                                          | 247 kB  00:00:00     
(7/13): libaio-0.3.109-13.el7.x86_64.rpm                                                                                                                                   |  24 kB  00:00:00     
(8/13): libxml2-2.9.1-6.el7_9.6.x86_64.rpm                                                                                                                                 | 668 kB  00:00:00     
(9/13): lvm2-libs-2.02.187-6.el7_9.5.x86_64.rpm                                                                                                                            | 1.1 MB  00:00:00     
(10/13): python-chardet-2.2.1-3.el7.noarch.rpm                                                                                                                             | 227 kB  00:00:00     
(11/13): lvm2-2.02.187-6.el7_9.5.x86_64.rpm                                                                                                                                | 1.3 MB  00:00:00     
(12/13): yum-utils-1.1.31-54.el7_8.noarch.rpm                                                                                                                              | 122 kB  00:00:00     
(13/13): python-kitchen-1.1.1-5.el7.noarch.rpm                                                                                                                             | 267 kB  00:00:00     
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                              23 MB/s | 5.3 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libaio-0.3.109-13.el7.x86_64                                                                                                                                                  1/16 
  Updating   : 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64                                                                                                                                2/16 
  Updating   : 7:device-mapper-1.02.170-6.el7_9.5.x86_64                                                                                                                                     3/16 
  Installing : 7:device-mapper-event-libs-1.02.170-6.el7_9.5.x86_64                                                                                                                          4/16 
  Installing : 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64                                                                                                                               5/16 
  Installing : 7:lvm2-libs-2.02.187-6.el7_9.5.x86_64                                                                                                                                         6/16 
  Installing : device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64                                                                                                                          7/16 
  Updating   : libxml2-2.9.1-6.el7_9.6.x86_64                                                                                                                                                8/16 
  Installing : libxml2-python-2.9.1-6.el7_9.6.x86_64                                                                                                                                         9/16 
  Installing : python-chardet-2.2.1-3.el7.noarch                                                                                                                                            10/16 
  Installing : python-kitchen-1.1.1-5.el7.noarch                                                                                                                                            11/16 
  Installing : yum-utils-1.1.31-54.el7_8.noarch                                                                                                                                             12/16 
  Installing : 7:lvm2-2.02.187-6.el7_9.5.x86_64                                                                                                                                             13/16 
  Cleanup    : 7:device-mapper-libs-1.02.149-10.el7_6.8.x86_64                                                                                                                              14/16 
  Cleanup    : 7:device-mapper-1.02.149-10.el7_6.8.x86_64                                                                                                                                   15/16 
  Cleanup    : libxml2-2.9.1-6.el7_2.3.x86_64                                                                                                                                               16/16 
  Verifying  : 7:lvm2-2.02.187-6.el7_9.5.x86_64                                                                                                                                              1/16 
  Verifying  : python-chardet-2.2.1-3.el7.noarch                                                                                                                                             2/16 
  Verifying  : libxml2-2.9.1-6.el7_9.6.x86_64                                                                                                                                                3/16 
  Verifying  : 7:lvm2-libs-2.02.187-6.el7_9.5.x86_64                                                                                                                                         4/16 
  Verifying  : libxml2-python-2.9.1-6.el7_9.6.x86_64                                                                                                                                         5/16 
  Verifying  : device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64                                                                                                                          6/16 
  Verifying  : 7:device-mapper-1.02.170-6.el7_9.5.x86_64                                                                                                                                     7/16 
  Verifying  : 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64                                                                                                                               8/16 
  Verifying  : python-kitchen-1.1.1-5.el7.noarch                                                                                                                                             9/16 
  Verifying  : libaio-0.3.109-13.el7.x86_64                                                                                                                                                 10/16 
  Verifying  : 7:device-mapper-event-libs-1.02.170-6.el7_9.5.x86_64                                                                                                                         11/16 
  Verifying  : 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64                                                                                                                               12/16 
  Verifying  : yum-utils-1.1.31-54.el7_8.noarch                                                                                                                                             13/16 
  Verifying  : 7:device-mapper-libs-1.02.149-10.el7_6.8.x86_64                                                                                                                              14/16 
  Verifying  : libxml2-2.9.1-6.el7_2.3.x86_64                                                                                                                                               15/16 
  Verifying  : 7:device-mapper-1.02.149-10.el7_6.8.x86_64                                                                                                                                   16/16 

Installed:
  device-mapper-persistent-data.x86_64 0:0.8.5-3.el7_9.2                        lvm2.x86_64 7:2.02.187-6.el7_9.5                        yum-utils.noarch 0:1.1.31-54.el7_8                       

Dependency Installed:
  device-mapper-event.x86_64 7:1.02.170-6.el7_9.5     device-mapper-event-libs.x86_64 7:1.02.170-6.el7_9.5     libaio.x86_64 0:0.3.109-13.el7          libxml2-python.x86_64 0:2.9.1-6.el7_9.6    
  lvm2-libs.x86_64 7:2.02.187-6.el7_9.5               python-chardet.noarch 0:2.2.1-3.el7                      python-kitchen.noarch 0:1.1.1-5.el7    

Dependency Updated:
  device-mapper.x86_64 7:1.02.170-6.el7_9.5                        device-mapper-libs.x86_64 7:1.02.170-6.el7_9.5                        libxml2.x86_64 0:2.9.1-6.el7_9.6                       

Complete!

設置鏡像倉庫

這里官網建議我們安裝國外的鏡像倉庫

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

但由於對國外的網絡限制,國內安裝的話會非常慢,並很有可能失敗,報如下錯誤。

[Errno 14] curl#35 - TCP connection reset by peer
[Errno 12] curl#35 - Timeout

推薦國內用戶安裝阿里雲鏡像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@sail ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

更新 yum 軟件包索引

這里官網建議我們更新 yum 軟件包索引:

yum makecache fast
[root@sail ~]# yum makecache fast
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                                                                                                                                                                                  | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                                                                      | 3.5 kB  00:00:00     
epel                                                                                                                                                                                                                  | 4.7 kB  00:00:00     
extras                                                                                                                                                                                                                | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                               | 2.9 kB  00:00:00     
(1/2): docker-ce-stable/7/x86_64/updateinfo                                                                                                                                                                           |   55 B  00:00:00     
(2/2): docker-ce-stable/7/x86_64/primary_db                                                                                                                                                                           |  69 kB  00:00:00     
Metadata Cache Created

安裝 Docker

做完前面的准備工作,就可以開始安裝 Docker 了

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

這里的 docker-ce 指的是 Docker 的社區版,如果是需要企業版的話就改為 docker-ee ,不過企業版是收費的,而且功能也略有不同,官方更推薦社區版,所以這里我們安裝docker-ce

[root@sail ~]# yum -y install docker-ce docker-ce-cli containerd.io
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package containerd.io.x86_64 0:1.4.12-3.1.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: containerd.io-1.4.12-3.1.el7.x86_64
---> Package docker-ce.x86_64 3:20.10.11-3.el7 will be installed
--> Processing Dependency: docker-ce-rootless-extras for package: 3:docker-ce-20.10.11-3.el7.x86_64
--> Processing Dependency: libcgroup for package: 3:docker-ce-20.10.11-3.el7.x86_64
---> Package docker-ce-cli.x86_64 1:20.10.11-3.el7 will be installed
--> Processing Dependency: docker-scan-plugin(x86-64) for package: 1:docker-ce-cli-20.10.11-3.el7.x86_64
--> Running transaction check
---> Package container-selinux.noarch 2:2.119.2-1.911c772.el7_8 will be installed
--> Processing Dependency: policycoreutils-python for package: 2:container-selinux-2.119.2-1.911c772.el7_8.noarch
---> Package docker-ce-rootless-extras.x86_64 0:20.10.11-3.el7 will be installed
--> Processing Dependency: fuse-overlayfs >= 0.7 for package: docker-ce-rootless-extras-20.10.11-3.el7.x86_64
--> Processing Dependency: slirp4netns >= 0.4 for package: docker-ce-rootless-extras-20.10.11-3.el7.x86_64
---> Package docker-scan-plugin.x86_64 0:0.9.0-3.el7 will be installed
---> Package libcgroup.x86_64 0:0.41-21.el7 will be installed
--> Running transaction check
---> Package fuse-overlayfs.x86_64 0:0.7.2-6.el7_8 will be installed
--> Processing Dependency: libfuse3.so.3(FUSE_3.2)(64bit) for package: fuse-overlayfs-0.7.2-6.el7_8.x86_64
--> Processing Dependency: libfuse3.so.3(FUSE_3.0)(64bit) for package: fuse-overlayfs-0.7.2-6.el7_8.x86_64
--> Processing Dependency: libfuse3.so.3()(64bit) for package: fuse-overlayfs-0.7.2-6.el7_8.x86_64
---> Package policycoreutils-python.x86_64 0:2.5-34.el7 will be installed
--> Processing Dependency: policycoreutils = 2.5-34.el7 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libsemanage-python >= 2.5-14 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
---> Package slirp4netns.x86_64 0:0.4.3-4.el7_8 will be installed
--> Running transaction check
---> Package audit-libs-python.x86_64 0:2.8.5-4.el7 will be installed
--> Processing Dependency: audit-libs(x86-64) = 2.8.5-4.el7 for package: audit-libs-python-2.8.5-4.el7.x86_64
---> Package checkpolicy.x86_64 0:2.5-8.el7 will be installed
---> Package fuse3-libs.x86_64 0:3.6.1-4.el7 will be installed
---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be installed
---> Package policycoreutils.x86_64 0:2.5-29.el7_6.1 will be updated
---> Package policycoreutils.x86_64 0:2.5-34.el7 will be an update
---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be installed
--> Running transaction check
---> Package audit-libs.x86_64 0:2.8.4-4.el7 will be updated
--> Processing Dependency: audit-libs(x86-64) = 2.8.4-4.el7 for package: audit-2.8.4-4.el7.x86_64
---> Package audit-libs.x86_64 0:2.8.5-4.el7 will be an update
--> Running transaction check
---> Package audit.x86_64 0:2.8.4-4.el7 will be updated
---> Package audit.x86_64 0:2.8.5-4.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================================================================================================================================
 Package                                                              Arch                                              Version                                                                 Repository                                                   Size
==================================================================================================================================================================================================================================================================
Installing:
 containerd.io                                                        x86_64                                            1.4.12-3.1.el7                                                          docker-ce-stable                                             28 M
 docker-ce                                                            x86_64                                            3:20.10.11-3.el7                                                        docker-ce-stable                                             23 M
 docker-ce-cli                                                        x86_64                                            1:20.10.11-3.el7                                                        docker-ce-stable                                             29 M
Installing for dependencies:
 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.2-1.911c772.el7_8                                               extras                                                       40 k
 docker-ce-rootless-extras                                            x86_64                                            20.10.11-3.el7                                                          docker-ce-stable                                            8.0 M
 docker-scan-plugin                                                   x86_64                                            0.9.0-3.el7                                                             docker-ce-stable                                            3.7 M
 fuse-overlayfs                                                       x86_64                                            0.7.2-6.el7_8                                                           extras                                                       54 k
 fuse3-libs                                                           x86_64                                            3.6.1-4.el7                                                             extras                                                       82 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
 slirp4netns                                                          x86_64                                            0.4.3-4.el7_8                                                           extras                                                       81 k
Updating for dependencies:
 audit                                                                x86_64                                            2.8.5-4.el7                                                             base                                                        256 k
 audit-libs                                                           x86_64                                            2.8.5-4.el7                                                             base                                                        102 k
 policycoreutils                                                      x86_64                                            2.5-34.el7                                                              base                                                        917 k

Transaction Summary
==================================================================================================================================================================================================================================================================
Install  3 Packages (+13 Dependent packages)
Upgrade             (  3 Dependent packages)

Total download size: 95 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/19): audit-libs-2.8.5-4.el7.x86_64.rpm                                                                                                                                                                                                  | 102 kB  00:00:00     
(2/19): audit-2.8.5-4.el7.x86_64.rpm                                                                                                                                                                                                       | 256 kB  00:00:00     
(3/19): audit-libs-python-2.8.5-4.el7.x86_64.rpm                                                                                                                                                                                           |  76 kB  00:00:00     
(4/19): checkpolicy-2.5-8.el7.x86_64.rpm                                                                                                                                                                                                   | 295 kB  00:00:00     
(5/19): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm                                                                                                                                                                               |  40 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-20.10.11-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY===========-                                                              ]  11 MB/s |  38 MB  00:00:04 ETA 
Public key for docker-ce-20.10.11-3.el7.x86_64.rpm is not installed
(6/19): docker-ce-20.10.11-3.el7.x86_64.rpm                                                                                                                                                                                                |  23 MB  00:00:02     
(7/19): containerd.io-1.4.12-3.1.el7.x86_64.rpm                                                                                                                                                                                            |  28 MB  00:00:05     
(8/19): docker-ce-rootless-extras-20.10.11-3.el7.x86_64.rpm                                                                                                                                                                                | 8.0 MB  00:00:01     
(9/19): fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm                                                                                                                                                                                            |  54 kB  00:00:00     
(10/19): libsemanage-python-2.5-14.el7.x86_64.rpm                                                                                                                                                                                          | 113 kB  00:00:00     
(11/19): policycoreutils-2.5-34.el7.x86_64.rpm                                                                                                                                                                                             | 917 kB  00:00:00     
(12/19): libcgroup-0.41-21.el7.x86_64.rpm                                                                                                                                                                                                  |  66 kB  00:00:00     
(13/19): fuse3-libs-3.6.1-4.el7.x86_64.rpm                                                                                                                                                                                                 |  82 kB  00:00:00     
(14/19): policycoreutils-python-2.5-34.el7.x86_64.rpm                                                                                                                                                                                      | 457 kB  00:00:00     
(15/19): python-IPy-0.75-6.el7.noarch.rpm                                                                                                                                                                                                  |  32 kB  00:00:00     
(16/19): setools-libs-3.3.8-4.el7.x86_64.rpm                                                                                                                                                                                               | 620 kB  00:00:00     
(17/19): slirp4netns-0.4.3-4.el7_8.x86_64.rpm                                                                                                                                                                                              |  81 kB  00:00:00     
(18/19): docker-scan-plugin-0.9.0-3.el7.x86_64.rpm                                                                                                                                                                                         | 3.7 MB  00:00:00     
(19/19): docker-ce-cli-20.10.11-3.el7.x86_64.rpm                                                                                                                                                                                           |  29 MB  00:00:04     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                                              13 MB/s |  95 MB  00:00:07     
Retrieving key from https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <docker@docker.com>"
 Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
 From       : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : audit-libs-2.8.5-4.el7.x86_64                                                                                                                                                                                                                 1/22 
  Updating   : policycoreutils-2.5-34.el7.x86_64                                                                                                                                                                                                             2/22 
  Installing : libcgroup-0.41-21.el7.x86_64                                                                                                                                                                                                                  3/22 
  Installing : audit-libs-python-2.8.5-4.el7.x86_64                                                                                                                                                                                                          4/22 
  Installing : 1:docker-ce-cli-20.10.11-3.el7.x86_64                                                                                                                                                                                                         5/22 
  Installing : docker-scan-plugin-0.9.0-3.el7.x86_64                                                                                                                                                                                                         6/22 
  Installing : slirp4netns-0.4.3-4.el7_8.x86_64                                                                                                                                                                                                              7/22 
  Installing : libsemanage-python-2.5-14.el7.x86_64                                                                                                                                                                                                          8/22 
  Installing : fuse3-libs-3.6.1-4.el7.x86_64                                                                                                                                                                                                                 9/22 
  Installing : fuse-overlayfs-0.7.2-6.el7_8.x86_64                                                                                                                                                                                                          10/22 
  Installing : setools-libs-3.3.8-4.el7.x86_64                                                                                                                                                                                                              11/22 
  Installing : python-IPy-0.75-6.el7.noarch                                                                                                                                                                                                                 12/22 
  Installing : checkpolicy-2.5-8.el7.x86_64                                                                                                                                                                                                                 13/22 
  Installing : policycoreutils-python-2.5-34.el7.x86_64                                                                                                                                                                                                     14/22 
  Installing : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch                                                                                                                                                                                           15/22 
setsebool:  SELinux is disabled.
  Installing : containerd.io-1.4.12-3.1.el7.x86_64                                                                                                                                                                                                          16/22 
  Installing : 3:docker-ce-20.10.11-3.el7.x86_64                                                                                                                                                                                                            17/22 
  Installing : docker-ce-rootless-extras-20.10.11-3.el7.x86_64                                                                                                                                                                                              18/22 
  Updating   : audit-2.8.5-4.el7.x86_64                                                                                                                                                                                                                     19/22 
  Cleanup    : audit-2.8.4-4.el7.x86_64                                                                                                                                                                                                                     20/22 
  Cleanup    : policycoreutils-2.5-29.el7_6.1.x86_64                                                                                                                                                                                                        21/22 
  Cleanup    : audit-libs-2.8.4-4.el7.x86_64                                                                                                                                                                                                                22/22 
  Verifying  : fuse-overlayfs-0.7.2-6.el7_8.x86_64                                                                                                                                                                                                           1/22 
  Verifying  : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch                                                                                                                                                                                            2/22 
  Verifying  : docker-ce-rootless-extras-20.10.11-3.el7.x86_64                                                                                                                                                                                               3/22 
  Verifying  : audit-libs-2.8.5-4.el7.x86_64                                                                                                                                                                                                                 4/22 
  Verifying  : checkpolicy-2.5-8.el7.x86_64                                                                                                                                                                                                                  5/22 
  Verifying  : policycoreutils-2.5-34.el7.x86_64                                                                                                                                                                                                             6/22 
  Verifying  : python-IPy-0.75-6.el7.noarch                                                                                                                                                                                                                  7/22 
  Verifying  : policycoreutils-python-2.5-34.el7.x86_64                                                                                                                                                                                                      8/22 
  Verifying  : setools-libs-3.3.8-4.el7.x86_64                                                                                                                                                                                                               9/22 
  Verifying  : docker-scan-plugin-0.9.0-3.el7.x86_64                                                                                                                                                                                                        10/22 
  Verifying  : fuse3-libs-3.6.1-4.el7.x86_64                                                                                                                                                                                                                11/22 
  Verifying  : audit-2.8.5-4.el7.x86_64                                                                                                                                                                                                                     12/22 
  Verifying  : libsemanage-python-2.5-14.el7.x86_64                                                                                                                                                                                                         13/22 
  Verifying  : slirp4netns-0.4.3-4.el7_8.x86_64                                                                                                                                                                                                             14/22 
  Verifying  : 3:docker-ce-20.10.11-3.el7.x86_64                                                                                                                                                                                                            15/22 
  Verifying  : audit-libs-python-2.8.5-4.el7.x86_64                                                                                                                                                                                                         16/22 
  Verifying  : containerd.io-1.4.12-3.1.el7.x86_64                                                                                                                                                                                                          17/22 
  Verifying  : 1:docker-ce-cli-20.10.11-3.el7.x86_64                                                                                                                                                                                                        18/22 
  Verifying  : libcgroup-0.41-21.el7.x86_64                                                                                                                                                                                                                 19/22 
  Verifying  : policycoreutils-2.5-29.el7_6.1.x86_64                                                                                                                                                                                                        20/22 
  Verifying  : audit-libs-2.8.4-4.el7.x86_64                                                                                                                                                                                                                21/22 
  Verifying  : audit-2.8.4-4.el7.x86_64                                                                                                                                                                                                                     22/22 

Installed:
  containerd.io.x86_64 0:1.4.12-3.1.el7                                                  docker-ce.x86_64 3:20.10.11-3.el7                                                  docker-ce-cli.x86_64 1:20.10.11-3.el7                                                 

Dependency Installed:
  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.2-1.911c772.el7_8  docker-ce-rootless-extras.x86_64 0:20.10.11-3.el7  docker-scan-plugin.x86_64 0:0.9.0-3.el7  fuse-overlayfs.x86_64 0:0.7.2-6.el7_8 
  fuse3-libs.x86_64 0:3.6.1-4.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     
  slirp4netns.x86_64 0:0.4.3-4.el7_8     

Dependency Updated:
  audit.x86_64 0:2.8.5-4.el7                                                       audit-libs.x86_64 0:2.8.5-4.el7                                                       policycoreutils.x86_64 0:2.5-34.el7                                                      

Complete!

啟動 Docker

Docker 安裝完成后,就可以運行如下命令啟動。

systemctl start docker
[root@sail ~]# systemctl start docker
[root@sail ~]# 

測試

啟動 Docker 后,我們可以運行如下命令對 Docker 進行測試。

  1. 查看 Docker 進程。
[root@sail ~]# ps -ef|grep docker
root     18805     1  0 16:54 ?        00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root     19233 16612  0 16:59 pts/0    00:00:00 grep --color=auto docker

由此可以看出,Docker 是啟動成功了的。

  1. 查看版本信息。
[root@sail ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.11
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        dea9396
 Built:             Thu Nov 18 00:38:53 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.11
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.9
  Git commit:       847da18
  Built:            Thu Nov 18 00:37:17 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

可以看出 Docker 的版本為 20.10.11

  1. 運行 Hello World 鏡像。

Hello World 鏡像是 Docker 官方為測試 Docker 環境和運行情況所設定的一個程序。

docker run hello-world
[root@sail ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
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 Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 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 container with:
 $ docker run -it ubuntu bash

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

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

由以下結果可以看出,我們的 Docker 工作環境是搭建完畢了的。

Hello from Docker!
This message shows that your installation appears to be working correctly.
  1. 查看鏡像。

在執行啟動 Hello World 鏡像的命令時,如果本地沒有該鏡像,會先從鏡像庫中拉取該鏡像再啟動。

使用 docker images 查看目前的 Docker 的鏡像情況:

[root@sail ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   2 months ago   13.3kB

這里我們可以看到剛拉取的 hello-world 鏡像,以及它的相關信息。

阿里雲鏡像加速

如果是阿里雲的服務器,還可以使用阿里雲的鏡像加速使得 Docker 使用起來更加快速和高效。

  1. 打開阿里雲服務器列表,選擇如圖所示的容器鏡像服務

  1. 選擇如圖所示的鏡像加速器,然后選擇對應的服務器系統。

  1. 在服務器上依次執行上圖所示的4條命令即可實現阿里雲的鏡像加速。

至此,yum 方式安裝 Docker 完畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM