这里使用的是中文版的
一、安装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