centos7安装docker

Author Avatar
双例模式 7月 20, 2019
  • 在其它设备中阅读本文章

服务器通常需要使用docker来管理自己部署的应用,好的docker配置通常可以省不少资源。

检查环境

  1. Docker 要求 CentOS 系统的内核版本高于 3.10,因此先要检查系统环境是否符合要求,这里使用uname -r检查系统版本内核

    # uname -r
    
  2. 更新yum源

    # yum update 
    
  3. 检查是否安装过旧版本的docker,如果安装过,在安装新版本的时候可能会报错

    Transaction check error:
    file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
    file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
    file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
    file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
    
  4. 如有上述报错,此时需要卸载旧版本的包

    # sudo yum remove docker  docker-common docker-selinux docker-engine
    # sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
    

正式安装

  1. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    # yum install -y yum-utils device-mapper-persistent-data lvm2
    
  2. 设置yum源

    # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  3. 可以查看所有仓库中所有docker版本,并选择特定版本安装

    # yum list docker-ce --showduplicates | sort -r
    
  4. 安装docker

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

安装后配置

  1. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    # docker version
    # docker run hello-world
    
  2. 启动并加入开机启动

    # systemctl start docker
    # systemctl enable docker
    
  3. 使用阿里云加速Docker
    Docker官方镜像网站部署在外网,因此我们国内下载比较慢。看了一下国内最好的Docker加速服务就是阿里云了。阿里云的其他镜像比如Maven镜像之类的也都不错。
    首先需要注册一个阿里云的帐号,可能还需要其他一点信息。然后进入容器Hub服务控制台,中间有一个加速器。我们点击它之后,阿里云会为我们创建一个专属加速器地址。
    然后需要检查Docker客户端的版本,如果小于1.10,只能按照自己系统版本寻找相应的办法了。如果大于等于1.10,就可以直接使用下面的配置方法。配置方法很简单,在/etc/docker/daemon.json中添加一段配置。如果没有该文件则创建。

    {
     "registry-mirrors": ["<your accelerate address>"]
    }
    

    然后重启Docker服务

    # systemctl daemon-reload
    # systemctl restart docker