Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

  1)、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

      通过 uname -r 命令查看你当前的内核版本

    #uname -r

     需要注意的是以下命令均是在root账户下执行的,如果是普通账户有些命令则可能需要加上sudo

  2)、执行 yum update

     #yum update #非必选项,但是建议执行操作

 

  3)、卸载旧版本docker

    #yum -y  remove docker  docker-common docker-selinux docker-engine

  4)、设置yum源

    #yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo【官方镜像,太慢】
    #yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云yum源【推荐】
    yum-config-manager: command not found,这个是因为系统默认没有安装这个命令,这个命令在 yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。

    需要注意的是,目前(2019年3月)测试的时候,docker不设置阿里云镜像源也是能正常安装的,并且阿里云镜像源地址也可能会更改,所以以上地址可能会返回404,如果以上镜像源地址不存在也可以忽略这一步直接进行下一步。

  5)、查看所有仓库中所有docker版本,并选择特定版本安装

    #yum list docker-ce --showduplicates | sort -r

  6)、安装docker

    #yum install -y docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
    #yum install -y <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

  7)、启动docker并加入开机自动启动

    systemctl start docker
    systemctl enable docker

  8)、配置阿里云镜像加速

    #mkdir  -p  /etc/docker
    #vim /etc/docker/daemon.json

    添加以下内容

    {"registry-mirrors": ["https://5f2jam6c.mirror.aliyuncs.com", "http://hub-mirror.c.163.com"]}
或者
    { "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"] }

  9)、重新加载配置文件

    #systemctl reload  docker

  10)、重启docker

    #systemctl restart docker

  安装过程中可能会出现的问题:

  1、正在处理依赖关系 docker-ce-selinux >= 17.03.0.ce-1.el7.centos,它被软件包 docker-ce-17.03.0.ce-1.el7.centos.x86_64 需要软件包 docker-ce-selinux 已经被 docker-ce-cli 取代,但是取代的软件包并未满足需求”等一大串的问题。

    这时我们需要通过 yum install 安装一个rpm包

    通过这个地址我们查看和我们安装docker版本一直的rpm包

    https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

    通过

    #yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

    

    问题解决

  2、非root用户使用docker命令报错

    以上我们为了方便在安装过程中使用的是root账户,然而实际操作中我们可能更多的是用普通用户操作docker命令.从root用户切到普通用户执行docker命令时会报如下错误

      
      Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied

    官方解释如下:

      
      The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user.
      To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.

    (1)、创建docker用户组

      #sudo groupadd docker

    此步骤并非必须,默认情况下docker安装过程中会自动创建一个docker用户组

    (2)、将当前用户加入docker用户组

        sudo gpasswd -a ${USER} docker

    注意以上命令只能用当前用户来操作,因为变量USER获取的是当前用户,如果要以root用户来操作,则需要指定的是具体的用户名,而非此变量

    (3)、当前用户退出系统重新登陆

    这里并不是批退出系统,只要切换一下用户即可,比如先切到root用户然后再切回来就可以了

  3、安装docker时报 container-selinux >= 2.9 错误

    由于测试环境的机器是不同批准到来的,第一批安装非常顺序,第二批是直接放置在办公室的PC机,也非常不顺序,安装过程遇到各种各样麻烦。

    上面说过,加入集群时发现docker没有安装成功,安装 docker 时出现了以下错误:

      Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-edge)

      Requires: container-selinux >= 2.9

      You could try using --skip-broken to work around the problem

      You could try running: rpm -Va --nofiles --nodigest

    这个报错是 container-selinux 版本低或者是没安装的原因,yum 安装container-selinux 一般的yum源又找不到这个包,需要安装epel源,才能yum安装container-selinux

    然后在安装 docker-ce 就可以了。

      #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

      #yum install epel-release #阿里云上的epel源

      #yum makecache

    然后,执行命令。
      #yum install container-selinux

使用阿里云镜像安装 Docker 服务的更多相关文章

  1. Ubuntu-16.04下Docker通过阿里云镜像安装(apt-get)

    由于通过官方路径安装docker时总是连接不上,所以从网上找了半天,通过阿里云镜像安装docker,我的Linux是ubuntu-16.04 一.配置源里的阿里云镜像仓库 sudo vim /etc/ ...

  2. 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用

    目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...

  3. 阿里云centos安装docker

    近期转向core开发,mssql也支持了docker,索性把手上的一台服务改成centos做测试开发.中间安装docker碰到的问题做个记录. docker版本 docker从1.13版本之后采用时间 ...

  4. 阿里云ECS安装Docker

    阿里云ESC系统信息,官方说2.6内核运行docker服务可能会不稳定: $ uname -a Linux iZ259dixwg8Z -.el6.x86_64 # SMP Thu Jul :: UTC ...

  5. 阿里云CentOS7安装Docker

    买了阿里云主机,由于学生有优惠,玩起来确实爽. 系统版本: [root@lxd ~]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (C ...

  6. CentOS7使用阿里yum源安装Docker

    yum install -y yum-utils device-mapper-persistent-data lvm2安装所需的包 # yum-config-manager --add-repo ht ...

  7. CentOS7使用阿里云源安装Docker

    安装步骤 1.删除已安装的Docker # Uninstall installed docker sudo yum remove docker \ docker-client \ docker-cli ...

  8. Ubuntu16.04使用阿里云镜像安装Mongodb

    一.概述 近日要在新的Ubuntu16.04系统上安装MongoDB,某度结果后直接从Mongo官网直接获得3.2版本的下载链接,结果在下载时发觉速度慢的可怜.迫于无奈,只能找国内的镜像下载.切换国内 ...

  9. [docker]通过阿里云源安装docker && flannel不通问题解决(try this guy out)

    docker清理容器 # 容器停止后就自动删除: docker run --rm centos /bin/echo "One"; # 杀死所有正在运行的容器: docker kil ...

  10. CentOS 7安装Docker服务详细过程

    ---恢复内容开始--- Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟 ...

随机推荐

  1. 【Spring】AOP实现原理

    注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用@EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使 ...

  2. QLabel自己总结(常用接口)

    继承关系:QLabel->QFrame->QWidget void setText(const QString &) [slots] 设置标签显示的内容,也可以使用构造函数设置. ...

  3. NativeBuffering,一种高性能、零内存分配的序列化解决方案[性能测试篇]

    第一版的NativeBuffering([上篇].[下篇])发布之后,我又对它作了多轮迭代,对性能作了较大的优化.比如确保所有类型的数据都是内存对齐的,内部采用了池化机器确保真正的"零内存分 ...

  4. JUC并发编程学习笔记(四)8锁现象

    8锁现象 八锁->就是关于锁的八个问题 锁是什么,如何判断锁的是谁 对象.class模板 深刻理解锁 锁的东西无外乎就两样:1.同步方法的调用者,2.Class模板. 同一个锁中,只有当前线程资 ...

  5. influxdb 连续查询使用总结

    转载请注明出处: 1.定义: InfluxDB 连续查询(Continuous Query)是一种自动化查询类型,该查询会根据定义的时间间隔定期运行,并将结果存储在新的目标测量中.这样的查询通常用于处 ...

  6. reverse--[HZNUCTF 2023 preliminary]easyAPK

    首先这是一个apk文件,一开始我是用jadx打开的,发现要aes加密啥的,后面我用jeb打开,发现账号和密码都已经解密出来了 真的很方便,然后根据代码逻辑判断,这应该是安卓程序的一个登录界面,接下来我 ...

  7. 每天5分钟复习OpenStack(九)存储发展史

    上一章节我们介绍了使用本地硬盘做kvm的存储池,这章开始将介绍下存储的发展历程,并介绍什么是分布式存储,为什么HDFS为有中心节点的分布式存储? 1.存储发展 在单机计算时代(大型机.小型机.微机), ...

  8. 前端本地导出文件 导出txt sql (简版版的字符串案例)

    1.首页明确要导出的根据 一般有图片 excel  文字.针对不同的文件类型 配置不同的参数 2.知识点 Blob          URL.createObjectUrl new Blob( arr ...

  9. Windows 搭建 Flutter 开发环境

    安装 去官网地址下载 Flutter SDK. 下载地址:https://flutter.dev/docs/development/tools/sdk/releases 将安装包解压到你想安装 Flu ...

  10. SpringBoot整合JavaMail

    1.发送简单邮件 导入依赖 implementation 'org.springframework.boot:spring-boot-starter-mail:3.0.2' 开启相关协议,获取密码~ ...