docker(centos7.9安装docker)
接上篇:docker(开篇)
目前,CentOS仅发现版中的内核支持Docker。Docker运行在CentOS 7(64-bit)上,要求系统 64位,Linux系统内核3.8以上,这里选择CentOS 7.x
1、确定你是CentOS 7及以上版本
-- 查看CentOS版本号 [root@hadoop100 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) -- uname -r : 显示操作系统的发行版号 -- uname -a :显示系统名、节点名称、操作系统的发行版号、内核版本等等。 [root@hadoop100 ~]# uname -r 3.10.0-1160.el7.x86_64
2、卸载旧版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
[root@hadoop100 ~]# sudo yum remove docker \ > docker-client \ > docker-client-latest \ > docker-common \ > docker-latest \ > docker-latest-logrotate \ > docker-logrotate \ > docker-engine 已加载插件:fastestmirror, langpacks 参数 docker 没有匹配 参数 docker-client 没有匹配 参数 docker-client-latest 没有匹配 参数 docker-common 没有匹配 参数 docker-latest 没有匹配 参数 docker-latest-logrotate 没有匹配 参数 docker-logrotate 没有匹配 参数 docker-engine 没有匹配 不删除任何软件包
3、yum安装gcc相关
安装 gcc
yum -y install gcc
[root@hadoop100 ~]# yum -y install gcc 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 gcc.x86_64.0.4.8.5-44.el7 将被 安装 --> 正在处理依赖关系 cpp = 4.8.5-44.el7,它被软件包 gcc-4.8.5-44.el7.x86_64 需要 --> 正在处理依赖关系 glibc-devel >= 2.2.90-12,它被软件包 gcc-4.8.5-44.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 cpp.x86_64.0.4.8.5-44.el7 将被 安装 ---> 软件包 glibc-devel.x86_64.0.2.17-326.el7_9 将被 安装 --> 正在处理依赖关系 glibc-headers = 2.17-326.el7_9,它被软件包 glibc-devel-2.17-326.el7_9.x86_64 需要 --> 正在处理依赖关系 glibc = 2.17-326.el7_9,它被软件包 glibc-devel-2.17-326.el7_9.x86_64 需要 --> 正在处理依赖关系 glibc-headers,它被软件包 glibc-devel-2.17-326.el7_9.x86_64 需要 --> 正在检查事务 ---> 软件包 glibc.x86_64.0.2.17-317.el7 将被 升级 --> 正在处理依赖关系 glibc = 2.17-317.el7,它被软件包 glibc-common-2.17-317.el7.x86_64 需要 ---> 软件包 glibc.x86_64.0.2.17-326.el7_9 将被 更新 ---> 软件包 glibc-headers.x86_64.0.2.17-326.el7_9 将被 安装 --> 正在处理依赖关系 kernel-headers >= 2.2.1,它被软件包 glibc-headers-2.17-326.el7_9.x86_64 需要 --> 正在处理依赖关系 kernel-headers,它被软件包 glibc-headers-2.17-326.el7_9.x86_64 需要 --> 正在检查事务 ---> 软件包 glibc-common.x86_64.0.2.17-317.el7 将被 升级 ---> 软件包 glibc-common.x86_64.0.2.17-326.el7_9 将被 更新 ---> 软件包 kernel-headers.x86_64.0.3.10.0-1160.83.1.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ======================================================================================================================== Package 架构 版本 源 大小 ======================================================================================================================== 正在安装: gcc x86_64 4.8.5-44.el7 base 16 M 为依赖而安装: cpp x86_64 4.8.5-44.el7 base 5.9 M glibc-devel x86_64 2.17-326.el7_9 updates 1.1 M glibc-headers x86_64 2.17-326.el7_9 updates 691 k kernel-headers x86_64 3.10.0-1160.83.1.el7 updates 9.1 M 为依赖而更新: glibc x86_64 2.17-326.el7_9 updates 3.6 M glibc-common x86_64 2.17-326.el7_9 updates 12 M 事务概要 ======================================================================================================================== 安装 1 软件包 (+4 依赖软件包) 升级 ( 2 依赖软件包) 总计:48 M 总下载量:33 M Downloading packages: 警告:/var/cache/yum/x86_64/7/base/packages/cpp-4.8.5-44.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY cpp-4.8.5-44.el7.x86_64.rpm 的公钥尚未安装 (1/5): cpp-4.8.5-44.el7.x86_64.rpm | 5.9 MB 00:00:00 glibc-devel-2.17-326.el7_9.x86_64.rpm 的公钥尚未安装 (2/5): glibc-devel-2.17-326.el7_9.x86_64.rpm | 1.1 MB 00:00:00 (3/5): glibc-headers-2.17-326.el7_9.x86_64.rpm | 691 kB 00:00:00 (4/5): kernel-headers-3.10.0-1160.83.1.el7.x86_64.rpm | 9.1 MB 00:00:00 (5/5): gcc-4.8.5-44.el7.x86_64.rpm | 16 MB 00:00:01 ------------------------------------------------------------------------------------------------------------------------ 总计 24 MB/s | 33 MB 00:00:01 从 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 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在更新 : glibc-2.17-326.el7_9.x86_64 1/9 正在更新 : glibc-common-2.17-326.el7_9.x86_64 2/9 正在安装 : cpp-4.8.5-44.el7.x86_64 3/9 正在安装 : kernel-headers-3.10.0-1160.83.1.el7.x86_64 4/9 正在安装 : glibc-headers-2.17-326.el7_9.x86_64 5/9 正在安装 : glibc-devel-2.17-326.el7_9.x86_64 6/9 正在安装 : gcc-4.8.5-44.el7.x86_64 7/9 清理 : glibc-2.17-317.el7.x86_64 8/9 清理 : glibc-common-2.17-317.el7.x86_64 9/9 验证中 : glibc-common-2.17-326.el7_9.x86_64 1/9 验证中 : glibc-2.17-326.el7_9.x86_64 2/9 验证中 : glibc-devel-2.17-326.el7_9.x86_64 3/9 验证中 : cpp-4.8.5-44.el7.x86_64 4/9 验证中 : glibc-headers-2.17-326.el7_9.x86_64 5/9 验证中 : gcc-4.8.5-44.el7.x86_64 6/9 验证中 : kernel-headers-3.10.0-1160.83.1.el7.x86_64 7/9 验证中 : glibc-2.17-317.el7.x86_64 8/9 验证中 : glibc-common-2.17-317.el7.x86_64 9/9 已安装: gcc.x86_64 0:4.8.5-44.el7 作为依赖被安装: cpp.x86_64 0:4.8.5-44.el7 glibc-devel.x86_64 0:2.17-326.el7_9 glibc-headers.x86_64 0:2.17-326.el7_9 kernel-headers.x86_64 0:3.10.0-1160.83.1.el7 作为依赖被升级: glibc.x86_64 0:2.17-326.el7_9 glibc-common.x86_64 0:2.17-326.el7_9 完毕!
安装 gcc-c++
yum -y install gcc-c++
[root@hadoop100 ~]# yum -y install gcc-c++ 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 gcc-c++.x86_64.0.4.8.5-44.el7 将被 安装 --> 正在处理依赖关系 libstdc++-devel = 4.8.5-44.el7,它被软件包 gcc-c++-4.8.5-44.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 libstdc++-devel.x86_64.0.4.8.5-44.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ======================================================================================================================== Package 架构 版本 源 大小 ======================================================================================================================== 正在安装: gcc-c++ x86_64 4.8.5-44.el7 base 7.2 M 为依赖而安装: libstdc++-devel x86_64 4.8.5-44.el7 base 1.5 M 事务概要 ======================================================================================================================== 安装 1 软件包 (+1 依赖软件包) 总下载量:8.7 M 安装大小:25 M Downloading packages: (1/2): libstdc++-devel-4.8.5-44.el7.x86_64.rpm | 1.5 MB 00:00:00 (2/2): gcc-c++-4.8.5-44.el7.x86_64.rpm | 7.2 MB 00:00:00 ------------------------------------------------------------------------------------------------------------------------ 总计 15 MB/s | 8.7 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : libstdc++-devel-4.8.5-44.el7.x86_64 1/2 正在安装 : gcc-c++-4.8.5-44.el7.x86_64 2/2 验证中 : gcc-c++-4.8.5-44.el7.x86_64 1/2 验证中 : libstdc++-devel-4.8.5-44.el7.x86_64 2/2 已安装: gcc-c++.x86_64 0:4.8.5-44.el7 作为依赖被安装: libstdc++-devel.x86_64 0:4.8.5-44.el7 完毕!
4、安装需要的软件包
安装 yum-utils
yum install -y yum-utils
[root@hadoop100 ~]# sudo yum install -y yum-utils 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本 无须任何处理
5、设置stable镜像仓库
方式1:官网推荐(中国大陆不推荐使用,可能会访问超时)
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
方式2:推荐使用(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@hadoop100 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 已加载插件:fastestmirror, langpacks 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
6、更新yum软件包索引
官网没有,但建议执行
yum makecache fast
[root@hadoop100 ~]# yum makecache fast 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com base | 3.6 kB 00:00:00 docker-ce-stable | 3.5 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 元数据缓存已建立
7、安装 docker engine
yum install docker-ce docker-ce-cli containerd.io
[root@hadoop100 ~]# yum install docker-ce docker-ce-cli containerd.io 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 containerd.io.x86_64.0.1.6.15-3.1.el7 将被 安装 --> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 containerd.io-1.6.15-3.1.el7.x86_64 需要 ---> 软件包 docker-ce.x86_64.3.20.10.23-3.el7 将被 安装 --> 正在处理依赖关系 docker-ce-rootless-extras,它被软件包 3:docker-ce-20.10.23-3.el7.x86_64 需要 ---> 软件包 docker-ce-cli.x86_64.1.20.10.23-3.el7 将被 安装 --> 正在处理依赖关系 docker-scan-plugin(x86-64),它被软件包 1:docker-ce-cli-20.10.23-3.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 container-selinux.noarch.2.2.119.2-1.911c772.el7_8 将被 安装 ---> 软件包 docker-ce-rootless-extras.x86_64.0.20.10.23-3.el7 将被 安装 --> 正在处理依赖关系 fuse-overlayfs >= 0.7,它被软件包 docker-ce-rootless-extras-20.10.23-3.el7.x86_64 需要 --> 正在处理依赖关系 slirp4netns >= 0.4,它被软件包 docker-ce-rootless-extras-20.10.23-3.el7.x86_64 需要 ---> 软件包 docker-scan-plugin.x86_64.0.0.23.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.6.15-3.1.el7 docker-ce-stable 33 M docker-ce x86_64 3:20.10.23-3.el7 docker-ce-stable 22 M docker-ce-cli x86_64 1:20.10.23-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.23-3.el7 docker-ce-stable 8.5 M docker-scan-plugin x86_64 0.23.0-3.el7 docker-ce-stable 3.8 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 依赖软件包) 总下载量:97 M 安装大小:358 M Is this ok [y/d/N]: y Downloading packages: (1/9): 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.23-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY docker-ce-20.10.23-3.el7.x86_64.rpm 的公钥尚未安装 (2/9): docker-ce-20.10.23-3.el7.x86_64.rpm | 22 MB 00:04:22 (3/9): containerd.io-1.6.15-3.1.el7.x86_64.rpm | 33 MB 00:06:40 (4/9): docker-ce-rootless-extras-20.10.23-3.el7.x86_64.rpm | 8.5 MB 00:01:45 (5/9): fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm | 54 kB 00:00:00 (6/9): slirp4netns-0.4.3-4.el7_8.x86_64.rpm | 81 kB 00:00:00 (7/9): fuse3-libs-3.6.1-4.el7.x86_64.rpm | 82 kB 00:00:00 (8/9): docker-scan-plugin-0.23.0-3.el7.x86_64.rpm | 3.8 MB 00:00:47 (9/9): docker-ce-cli-20.10.23-3.el7.x86_64.rpm | 30 MB 00:06:16 ------------------------------------------------------------------------------------------------------------------------ 总计 156 kB/s | 97 MB 00:10:39 从 https://mirrors.aliyun.com/docker-ce/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://mirrors.aliyun.com/docker-ce/linux/centos/gpg 是否继续?[y/N]:y Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 1/9 正在安装 : containerd.io-1.6.15-3.1.el7.x86_64 2/9 正在安装 : slirp4netns-0.4.3-4.el7_8.x86_64 3/9 正在安装 : fuse3-libs-3.6.1-4.el7.x86_64 4/9 正在安装 : fuse-overlayfs-0.7.2-6.el7_8.x86_64 5/9 正在安装 : docker-scan-plugin-0.23.0-3.el7.x86_64 6/9 正在安装 : 1:docker-ce-cli-20.10.23-3.el7.x86_64 7/9 正在安装 : docker-ce-rootless-extras-20.10.23-3.el7.x86_64 8/9 正在安装 : 3:docker-ce-20.10.23-3.el7.x86_64 9/9 验证中 : docker-scan-plugin-0.23.0-3.el7.x86_64 1/9 验证中 : fuse3-libs-3.6.1-4.el7.x86_64 2/9 验证中 : fuse-overlayfs-0.7.2-6.el7_8.x86_64 3/9 验证中 : 1:docker-ce-cli-20.10.23-3.el7.x86_64 4/9 验证中 : slirp4netns-0.4.3-4.el7_8.x86_64 5/9 验证中 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 6/9 验证中 : docker-ce-rootless-extras-20.10.23-3.el7.x86_64 7/9 验证中 : 3:docker-ce-20.10.23-3.el7.x86_64 8/9 验证中 : containerd.io-1.6.15-3.1.el7.x86_64 9/9 已安装: containerd.io.x86_64 0:1.6.15-3.1.el7 docker-ce.x86_64 3:20.10.23-3.el7 docker-ce-cli.x86_64 1:20.10.23-3.el7 作为依赖被安装: container-selinux.noarch 2:2.119.2-1.911c772.el7_8 docker-ce-rootless-extras.x86_64 0:20.10.23-3.el7 docker-scan-plugin.x86_64 0:0.23.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 完毕!
8、启动docker
systemctl start docker
9、测试
-- 查看当前docker版本 docker version -- 运行测试用例 docker run hello-word
[root@hadoop100 ~]# systemctl start docker [root@hadoop100 ~]# docker version Client: Docker Engine - Community Version: 20.10.23 API version: 1.41 Go version: go1.18.10 Git commit: 7155243 Built: Thu Jan 19 17:36:21 2023 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.23 API version: 1.41 (minimum version 1.12) Go version: go1.18.10 Git commit: 6051f14 Built: Thu Jan 19 17:34:26 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.15 GitCommit: 5b842e528e99d4d4c1686467debf2bd4b88ecd86 runc: Version: 1.1.4 GitCommit: v1.1.4-0-g5fd4c4d docker-init: Version: 0.19.0 GitCommit: de40ad0
[root@hadoop100 ~]# docker run hello-world -- 无法在本地找到镜像 Unable to find image 'hello-world:latest' locally -- 从远程仓库拉取 latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:aa0cc8055b82dc2509bed2e19b275c8f463506616377219d9642221ab53cf9fe -- 下载了一个最新的镜像 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/
centos安装docker完成!
10、卸载docker
-- 停止docker systemctl stop docker -- 卸载docker引擎 yum remove docker-ce docker-ce-cli containerd.io -- 删除相关配置文件 rm -rf /var/lib/docker rm -rf /var/lib/containerd