1 前提说明

  • 目前,CentOS仅发行版中的内核支持Docker。
  • Docker运行在CentOS7上,要求系统为64位,系统内核版本是3.10以上。
  • Docker运行在CentOS6.5或更高版本的CentOS上,要求系统为64位,系统内核版本是2.6.32-431或者更高版本。
  • 查看内核:
  1. uname -r

查看内核.png

  • 查看已安装的CentOS的版本信息:
  1. cat /etc/redhat-release

查看已安装的CentOS的版本信息.png

2 Docker的组成

2.1 Docker的架构图

Docker的架构图.png

2.2 镜像(image)

  • Docker的镜像image就是一个只读的模板。镜像可以用来创建Docker的容器,一个镜像可以创建很多容器。

2.3 容器(container)

  • 镜像(image)和容器(container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

2.4 仓库(repository)

  • 仓库repository是集中存放镜像文件的场所。
  • 仓库repository和仓库注册服务器registry是由区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签tag。
  • 仓库分为公开仓库和私有仓库两种形式。
  • 最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。
  • 国内的公开仓库包括阿里云、网易云等。

2.5 总结

  • Docker本身是一个容器运行载体或者称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器。image文件可以看做是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。
  • image文件生成的容器实例,本身也是一个文件,称为镜像文件。
  • 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器。
  • 至于仓库,就是放了一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了。

3 Docker的安装

本次安装是在CentOS7版本上。

3.1 yum安装gcc相关

  1. yum -y install gcc
  2. yum -y install gcc-c++

yum安装gcc相关.gif

3.2 卸载旧版本

  1. sudo yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-engine

卸载旧版本.gif

3.3 安装所需要的软件包

  1. sudo yum install -y yum-utils \
  2. device-mapper-persistent-data \
  3. lvm2

安装所需要的软件包.gif

3.4 设置stable镜像仓库

  1. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

设置stable镜像仓库.gif

3.5 更新yum软件包索引

  1. yum makecache fast

更新yum软件包索引.gif

3.6 安装Docker

  1. yum -y install docker-ce

安装Docker.gif

3.7 启动Docker

  1. systemctl start docker

启动Docker.gif

3.8 验证docker是否安装成功

  1. docker version

验证docker是否安装成功.png

4 卸载Docker

  1. systemctl stop docke
  2. yum -y remove docker-ce
  3. rm -rf /var/lib/docker

5 配置阿里云镜像加速

5.1 获取阿里云镜像加速地址

阿里云容器镜像服务.png

阿里云镜像加速.png

5.2 CentOS7.x下的Docker配置镜像加速

5.2.1 创建/etc/docker目录

  1. mkdir -pv /etc/docker

创建根目录下的etc目录下的docker目录.gif

5.2.2 在/etc/docker目录下创建daemon.json文件来配置阿里云镜像加速,并将以下内容复制进去

  1. {
  2. "registry-mirrors": ["自己的阿里云镜像加速地址"],
  3. "live-restore": true,
  4. "log-driver":"json-file",
  5. "log-opts": {"max-size":"500m", "max-file":"3"}
  6. }

创建daemon.json文件来配置阿里云镜像加速.gif

live-restore:Docker重启之后,容器不退出。 log-driver和log-opts:用来限制Docker容器的日志的大小。 max-size=500m,意味着一个容器日志大小上限是500M。 max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

5.2.3 重启Docker服务

  1. systemctl daemon-reload
  2. systemctl restart docker

重启Docker服务.gif

6 通过脚本安装

6.1 yum更新

  1. yum -y update

6.2 脚本安装

  1. curl -sSL https://get.docker.com/ | sh

6.3 启动Docker

  1. systemctl start docker