这里使用的是中文版的

一、安装docker

官网安装教程

1.卸载旧版本

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

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

2.设置存储库

如果不设置的话会这样的:

没有可用软件包 docker-ce。
没有可用软件包 docker-ce-cli。
没有可用软件包 containerd.io。
错误:无须任何处理
sudo yum install -y yum-utils


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

如:

[roy@localhost ~]$ sudo yum install -y yum-utils
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.bfsu.edu.cn
软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本
无须任何处理
[roy@localhost ~]$ sudo yum-config-manager \
>     --add-repo \
>     https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

3.安装最新版本的Docker Engine 和 containerd

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

如:

[roy@localhost ~]$ sudo yum install docker-ce docker-ce-cli containerd.io
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.bfsu.edu.cn
docker-ce-stable                                               | 3.5 kB  00:00:00     
(1/2): docker-ce-stable/7/x86_64/updateinfo                    |   55 B  00:00:01     
(2/2): docker-ce-stable/7/x86_64/primary_db                    |  73 kB  00:00:02     
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.5.10-3.1.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 containerd.io-1.5.10-3.1.el7.x86_64 需要
---> 软件包 docker-ce.x86_64.3.20.10.13-3.el7 将被 安装
--> 正在处理依赖关系 docker-ce-rootless-extras,它被软件包 3:docker-ce-20.10.13-3.el7.x86_64 需要
---> 软件包 docker-ce-cli.x86_64.1.20.10.13-3.el7 将被 安装
--> 正在处理依赖关系 docker-scan-plugin(x86-64),它被软件包 1:docker-ce-cli-20.10.13-3.el7.x86_64 需要
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.119.2-1.911c772.el7_8 将被 安装
---> 软件包 docker-ce-rootless-extras.x86_64.0.20.10.13-3.el7 将被 安装
--> 正在处理依赖关系 fuse-overlayfs >= 0.7,它被软件包 docker-ce-rootless-extras-20.10.13-3.el7.x86_64 需要
--> 正在处理依赖关系 slirp4netns >= 0.4,它被软件包 docker-ce-rootless-extras-20.10.13-3.el7.x86_64 需要
---> 软件包 docker-scan-plugin.x86_64.0.0.17.0-3.el7 将被 安装
--> 正在检查事务
---> 软件包 fuse-overlayfs.x86_64.0.0.7.2-6.el7_8 将被 安装
--> 正在处理依赖关系 libfuse3.so.3(FUSE_3.2)(64bit),它被软件包 fuse-overlayfs-0.7.2-6.el7_8.x86_64 需要
--> 正在处理依赖关系 libfuse3.so.3(FUSE_3.0)(64bit),它被软件包 fuse-overlayfs-0.7.2-6.el7_8.x86_64 需要
--> 正在处理依赖关系 libfuse3.so.3()(64bit),它被软件包 fuse-overlayfs-0.7.2-6.el7_8.x86_64 需要
---> 软件包 slirp4netns.x86_64.0.0.4.3-4.el7_8 将被 安装
--> 正在检查事务
---> 软件包 fuse3-libs.x86_64.0.3.6.1-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

======================================================================================
 Package                   架构   版本                         源                大小
======================================================================================
正在安装:
 containerd.io             x86_64 1.5.10-3.1.el7               docker-ce-stable  30 M
 docker-ce                 x86_64 3:20.10.13-3.el7             docker-ce-stable  22 M
 docker-ce-cli             x86_64 1:20.10.13-3.el7             docker-ce-stable  30 M
为依赖而安装:
 container-selinux         noarch 2:2.119.2-1.911c772.el7_8    extras            40 k
 docker-ce-rootless-extras x86_64 20.10.13-3.el7               docker-ce-stable 8.1 M
 docker-scan-plugin        x86_64 0.17.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
 slirp4netns               x86_64 0.4.3-4.el7_8                extras            81 k

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

总下载量:95 M
安装大小:382 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64/7/extras/packages/container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm 的公钥尚未安装
(1/9): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm    |  40 kB  00:00:00     
警告:/var/cache/yum/x86_64/7/docker-ce-stable/packages/containerd.io-1.5.10-3.1.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 621e9f35: NOKEY
containerd.io-1.5.10-3.1.el7.x86_64.rpm 的公钥尚未安装
(2/9): containerd.io-1.5.10-3.1.el7.x86_64.rpm                 |  30 MB  00:00:21     
(3/9): docker-ce-20.10.13-3.el7.x86_64.rpm                     |  22 MB  00:00:56     
(4/9): docker-ce-cli-20.10.13-3.el7.x86_64.rpm                 |  30 MB  00:00:35     
(5/9): fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm                 |  54 kB  00:00:00     
(6/9): fuse3-libs-3.6.1-4.el7.x86_64.rpm                       |  82 kB  00:00:01     
(7/9): slirp4netns-0.4.3-4.el7_8.x86_64.rpm                    |  81 kB  00:00:01     
(8/9): docker-scan-plugin-0.17.0-3.el7.x86_64.rpm              | 3.7 MB  00:00:03     
(9/9): docker-ce-rootless-extras-20.10.13-3.el7.x86_64.rpm     | 8.1 MB  00:00:10     
--------------------------------------------------------------------------------------
总计                                                     1.4 MB/s |  95 MB  01:06     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
 用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 软件包     : centos-release-7-9.2009.0.el7.centos.x86_64 (@anaconda)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
是否继续?[y/N]:y
从 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
  正在安装    : docker-scan-plugin-0.17.0-3.el7.x86_64                            1/9 
  正在安装    : 1:docker-ce-cli-20.10.13-3.el7.x86_64                             2/9 
  正在安装    : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch                3/9 
  正在安装    : containerd.io-1.5.10-3.1.el7.x86_64                               4/9 
  正在安装    : slirp4netns-0.4.3-4.el7_8.x86_64                                  5/9 
  正在安装    : fuse3-libs-3.6.1-4.el7.x86_64                                     6/9 
  正在安装    : fuse-overlayfs-0.7.2-6.el7_8.x86_64                               7/9 
  正在安装    : 3:docker-ce-20.10.13-3.el7.x86_64                                 8/9 
  正在安装    : docker-ce-rootless-extras-20.10.13-3.el7.x86_64                   9/9 
  验证中      : fuse3-libs-3.6.1-4.el7.x86_64                                     1/9 
  验证中      : containerd.io-1.5.10-3.1.el7.x86_64                               2/9 
  验证中      : 1:docker-ce-cli-20.10.13-3.el7.x86_64                             3/9 
  验证中      : fuse-overlayfs-0.7.2-6.el7_8.x86_64                               4/9 
  验证中      : 3:docker-ce-20.10.13-3.el7.x86_64                                 5/9 
  验证中      : docker-ce-rootless-extras-20.10.13-3.el7.x86_64                   6/9 
  验证中      : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch                7/9 
  验证中      : slirp4netns-0.4.3-4.el7_8.x86_64                                  8/9 
  验证中      : docker-scan-plugin-0.17.0-3.el7.x86_64                            9/9 

已安装:
  containerd.io.x86_64 0:1.5.10-3.1.el7       docker-ce.x86_64 3:20.10.13-3.el7      
  docker-ce-cli.x86_64 1:20.10.13-3.el7      

作为依赖被安装:
  container-selinux.noarch 2:2.119.2-1.911c772.el7_8                                  
  docker-ce-rootless-extras.x86_64 0:20.10.13-3.el7                                   
  docker-scan-plugin.x86_64 0:0.17.0-3.el7                                            
  fuse-overlayfs.x86_64 0:0.7.2-6.el7_8                                               
  fuse3-libs.x86_64 0:3.6.1-4.el7                                                     
  slirp4netns.x86_64 0:0.4.3-4.el7_8                                                  

完毕!

4.启动 Docker。

sudo systemctl start docker

5.hello-world 通过运行映像来验证 Docker 引擎是否已正确安装。

sudo docker run hello-world

防火墙

查看防火墙状态

systemctl status firewalld

firewall-cmd --state

启动防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

重启防火墙

firewall-cmd --reload

端口占用

查看某个端口占用情况

lsof -i:端口号

查看端口是否开启

指定端口

firewall-cmd --permanent --query-port=27017/tcp

查看所有开放的端口

firewall-cmd --zone=public --list-ports