目录
前言
本文针对CenOS7 在线安装docker提供手把手操作指导,并给出几项基本的问题解决方法。
基础操作参考来自:https://developer.aliyun.com/article/765545
一、条件准备
1.一个CentOS 7虚拟机(此处操作已在7.5版本验证有效);
2.若虚拟机中之前安装过docker,请卸载干净;
3.避免权限不足,请以root用户登录操作系统进行安装操作。
二、操作步骤
1.添加docker的yum源
命令如下:
[root@TYH-pull ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
现象如下:
[root@TYH-pull ~]# 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
2.查看所有仓库中docker版本。
此处只查看社区版本(ce)。
[root@TYH-pull ~]# yum list docker-ce --showduplicates | sort -r
现象如下:
[root@TYH-pull ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks 可安装的软件包 ?* updates: mirrors.aliyun.com Loading mirror speeds from cached hostfile ?* extras: mirrors.163.com docker-ce.x86_64??????????? 3:20.10.7.-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:20.10.6-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:2010.5-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:20.10.4-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:20.10.3-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:20.10.2-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:20.10.1-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:20.10.0-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.9-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.8-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.7-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.6-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.5-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.4-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.3-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.2-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.15-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.14-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.1-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.13-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.12-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.11-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.10-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:19.03.0-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.9-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.8-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.7-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.6-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.5-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.4-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.3-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.2-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.1-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 3:18.09.0-3.el7???????????????????? docker-ce-stable docker-ce.x86_64??????????? 18.06.3.ce-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 18.06.2.ce-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 18.06.1.ce-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 18.06.0.ce-3.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 18.03.1.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 18.03.0.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.12.1.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.12.0.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.09.1.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.09.0.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.06.2.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.06.1.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.06.0.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.03.3.ce-1.el7??????????????????? docker-ce-stable docker-ce.x86_64??????????? 17.03.2.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.03.1.ce-1.el7.centos???????????? docker-ce-stable docker-ce.x86_64??????????? 17.03.0.ce-1.el7.centos???????????? docker-ce-stable ?* base: mirrors.163.com
3.配置镜像加速器
a. 注册阿里云账号 ,登陆该网址自行注册 ( https://www.aliyun.com/?utm_content=se_1010377 ) b. 进入阿里云控制台如图 ( https://cr.console.aliyun.com/#/accelerator )
按下图位置找到像加速器地址(格式为:[系统分配前缀].mirror.aliyuncs.com ):
执行命令:
[root@TYH-pull docker]# tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["输入你自己控制台中的镜像加速器地址"]
> }
> EOF
?下面是我的文件内容,供参考:
[root@TYH-pull run]# cat /etc/docker/daemon.json { ?? "registry-mirrors": ["https://阿里云控制台中你自己的加速器地址前缀.mirror.aliyuncs.com"] }
4.加载daemon.json文件
每次修改后,都需重新加载。
执行命令:
[root@TYH-pull docker]# systemctl daemon-reload
5.安装docker
我安装的ce最新版本(默认是最新版本)
执行命令:
[root@TYH-pull docker]# yum install docker-ce
过程中,需要确认Y/N。
[root@TYH-pull docker]# yum install docker-ce 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile ?* base: mirrors.163.com ?* extras: mirrors.163.com ?* updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 docker-ce.x86_64.3.20.10.7-3.el7 将被 安装 --> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 3:docker-ce-20.10.7-3.el7.x86_64 需要 --> 正在处理依赖关系 containerd.io >= 1.4.1,它被软件包 3:docker-ce-20.10.7-3.el7.x86_64 需要 --> 正在处理依赖关系 docker-ce-cli,它被软件包 3:docker-ce-20.10.7-3.el7.x86_64 需要 --> 正在处理依赖关系 docker-ce-rootless-extras,它被软件包 3:docker-ce-20.10.7-3.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 container-selinux.noarch.2.2.119.2-1.911c772.el7_8 将被 安装 ---> 软件包 containerd.io.x86_64.0.1.4.6-3.1.el7 将被 安装 ---> 软件包 docker-ce-cli.x86_64.1.20.10.7-3.el7 将被 安装 --> 正在处理依赖关系 docker-scan-plugin(x86-64),它被软件包 1:docker-ce-cli-20.10.7-3.el7.x86_64 需要 ---> 软件包 docker-ce-rootless-extras.x86_64.0.20.10.7-3.el7 将被 安装 --> 正在处理依赖关系 fuse-overlayfs >= 0.7,它被软件包 docker-ce-rootless-extras-20.10.7-3.el7.x86_64 需要 --> 正在处理依赖关系 slirp4netns >= 0.4,它被软件包 docker-ce-rootless-extras-20.10.7-3.el7.x86_64 需要 --> 正在检查事务 ---> 软件包 docker-scan-plugin.x86_64.0.0.8.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??????????????? 架构?? 版本????????????????????? 源??????????????? 大小 ================================================================================ 正在安装: ?docker-ce????????????? x86_64 3:20.10.7-3.el7?????????? docker-ce-stable? 27 M 为依赖而安装: ?container-selinux????? noarch 2:2.119.2-1.911c772.el7_8 extras??????????? 40 k ?containerd.io????????? x86_64 1.4.6-3.1.el7???????????? docker-ce-stable? 34 M ?docker-ce-cli????????? x86_64 1:20.10.7-3.el7?????????? docker-ce-stable? 33 M ?docker-ce-rootless-extras ??????????????????????? x86_64 20.10.7-3.el7???????????? docker-ce-stable 9.2 M ?docker-scan-plugin???? x86_64 0.8.0-3.el7?????????????? docker-ce-stable 4.2 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
事务概要 ================================================================================ 安装? 1 软件包 (+8 依赖软件包)
总下载量:107 M 安装大小:438 M Is this ok [y/d/N]: y Downloading packages: (1/9): container-selinux-2.119.2-1.911c772.el7_8.noarch.rp |? 40 kB?? 00:00??? ? warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-20.10.7-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY docker-ce-20.10.7-3.el7.x86_64.rpm 的公钥尚未安装 (2/9): docker-ce-20.10.7-3.el7.x86_64.rpm????????????????? |? 27 MB?? 00:52??? ? (3/9): containerd.io-1.4.6-3.1.el7.x86_64.rpm????????????? |? 34 MB?? 01:04??? ? (4/9): docker-ce-rootless-extras-20.10.7-3.el7.x86_64.rpm? | 9.2 MB?? 00:18??? ? (5/9): fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm???????????? |? 54 kB?? 00:00??? ? (6/9): fuse3-libs-3.6.1-4.el7.x86_64.rpm?????????????????? |? 82 kB?? 00:00??? ? (7/9): slirp4netns-0.4.3-4.el7_8.x86_64.rpm??????????????? |? 81 kB?? 00:00??? ? (8/9): docker-scan-plugin-0.8.0-3.el7.x86_64.rpm?????????? | 4.2 MB?? 00:08??? ? (9/9): docker-ce-cli-20.10.7-3.el7.x86_64.rpm????????????? |? 33 MB?? 01:07??? ? -------------------------------------------------------------------------------- 总计?????????????????????????????????????????????? 911 kB/s | 107 MB? 02:00??? ? 从 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.4.6-3.1.el7.x86_64????????????????????????? 2/9 ? 正在安装??? : 1:docker-ce-cli-20.10.7-3.el7.x86_64??????????????????????? 3/9 ? 正在安装??? : docker-scan-plugin-0.8.0-3.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 ? 正在安装??? : docker-ce-rootless-extras-20.10.7-3.el7.x86_64????????????? 8/9 ? 正在安装??? : 3:docker-ce-20.10.7-3.el7.x86_64??????????????????????????? 9/9 ? 验证中????? : containerd.io-1.4.6-3.1.el7.x86_64????????????????????????? 1/9 ? 验证中????? : fuse3-libs-3.6.1-4.el7.x86_64?????????????????????????????? 2/9 ? 验证中????? : docker-scan-plugin-0.8.0-3.el7.x86_64?????????????????????? 3/9 ? 验证中????? : slirp4netns-0.4.3-4.el7_8.x86_64??????????????????????????? 4/9 ? 验证中????? : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch????????? 5/9 ? 验证中????? : 3:docker-ce-20.10.7-3.el7.x86_64??????????????????????????? 6/9 ? 验证中????? : 1:docker-ce-cli-20.10.7-3.el7.x86_64??????????????????????? 7/9 ? 验证中????? : docker-ce-rootless-extras-20.10.7-3.el7.x86_64????????????? 8/9 ? 验证中????? : fuse-overlayfs-0.7.2-6.el7_8.x86_64???????????????????????? 9/9
已安装: ? docker-ce.x86_64 3:20.10.7-3.el7???????????????????????????????????????????? ?
作为依赖被安装: ? container-selinux.noarch 2:2.119.2-1.911c772.el7_8?????????????????????????? ? ? containerd.io.x86_64 0:1.4.6-3.1.el7???????????????????????????????????????? ? ? docker-ce-cli.x86_64 1:20.10.7-3.el7???????????????????????????????????????? ? ? docker-ce-rootless-extras.x86_64 0:20.10.7-3.el7???????????????????????????? ? ? docker-scan-plugin.x86_64 0:0.8.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?????????????????????????????????????????? ?
完毕!
也可以指定版本安装,如:
$ yum install docker-ce-<VERSION_STRING> (指定安装版本)
例: yum install docker-ce-18.03.1.ce
6.启动,并加入开机启动
$ systemctl start docker (重启命令 $ systemctl restart docker )
$ systemctl enable docker 开机启动
$ docker version 查看docker版本号
7.检验是否正确安装
$ docker run hello-world
现象:
[root@TYH-pull run]# docker run hello-world
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/
三、常见问题排查及处理方法
1.镜像地址无法访问
检查虚拟机DNS配置是否正确,我配置的是四川省的DNS? 218.6.200.139。
2.各种docker问题
使用命令 sudo dockerd --debug排查,根据回显提示定位问题。
3.docker停止不了,报socket相关错误。
使用该命令停止socket服务后,重新启动docker。
systemctl stop docker.socket
总结
以上适用初级选手在线docker安装参考。
|