CentOS 7 在线安装docker及问题处理(一)

目录

前言

一、条件准备

二、操作步骤

1.添加docker的yum源

2.查看所有仓库中docker版本。

3.配置镜像加速器

4.加载daemon.json文件

5.安装docker

6.启动,并加入开机启动

7.检验是否正确安装

总结



前言

本文针对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 ):

CentOS 7 在线安装docker及问题处理(一)

执行命令:

[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安装参考。

上一篇:iOS: 学习笔记, 透过Boolean看Swift(译自: https://developer.apple.com/swift/blog/ Aug 5, 2014 Boolean)


下一篇:OC基础17:归档