1. Docker的理论知识点

1.1 什么是Docker?

Docker是一个开源的应用容器引擎,开发者可以将一些应用或依赖包打包成一个可移植的镜像,通过拉取(pull)的方式获取镜像并使用。

首先我们需要先了解Docker的三要素:

  • 镜像(Docker image) : 就是一个模板,用来创建Docker容器,一个镜像可以创建很多容器。
  • 容器(Docker Container) : 容器就是镜像创建一个运行实例,每一个容器都是相互独立的,不会相互干扰。
  • 仓库(Docker Repository) : 集中存放镜像文件的场所。可以分成公开仓库(Public)和私有仓库(Private),最大的公开仓库是 Docker Hub

1.2 Docker的架构

  • 客户端 (Docker Client): 可以说就是操作Docker主机的一些命令操作,例如,docker pull,docker run等。
  • Docker主机(Docker Hosts) : 安装了Docker的机器,如CentOS7 。
  • 仓库注册服务器(Registries) : 存有多个仓库,仓库中又包含有多个不同的image。

2.Docker的安装

官网

* docker官网 :  <http://www.docker.com>
* docker中文官网 :   <https://www.docker-cn.com>

仓库

Docker支持一下的CentOS版本:

* CentOS 7(64-bit)
* CentOS 6.5(64-bit)以及更高版本

以下是以CentOS 7 为例安装Docker :

2.1 安装步骤

官网安装地址 : https://docs.docker.com/engine/install/centos/

  • 第一步,确定是否是CentOS 7及以上版本
1
# cat /etc/redhat-release

效果:

  • 第二步,yum安装gcc相关,首先就是CentOS 7必须要能连接外网

    1
    # yum -y install gcc

    效果 :

    1
    # yum -y install gcc-c++

    效果 :

  • 第三步,若以前装有旧版本,可以先进行卸载

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

效果 :

因为为了方便演示,这是一台并没有装过Docker的CentOS 7,所以不删除任何软件包

  • 第四步,安装Docker依赖的软件包
1
# yum -y install yum-utils device-mapper-persistent-data lvm2

效果 :

  • 第五步,设置稳定的镜像仓库,(注意 : 尽量不要使用官网上推荐的镜像仓库,有时候会导致拉取镜像失败),就是以下:

推荐使用阿里云的镜像仓库 :

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

  • 第六步,更新yum软件包索引
1
# yum makecache fast

效果 :

  • 第七步,安装Docker CE
1
# yum -y install docker-ce

效果 :

表示安装完成。

  • 第八步,启动docker
1
2
# systemctl start docker
# ps -ef | grep docker

效果:

表示启动成功。

  • 第九步,测试一下
1
# docker version

运行hello-world镜像,

1
# docker run hello-world

  • 第十步,配置镜像加速器,在daemon.json中加入阿里云镜像:
1
2
# mkdir -p /etc/docker
# vim /etc/docker/daemon.json
1
2
3
{
"registry-mirrors": ["https://{自己的编码}.mirror.aliyuncs.com"]
}

这里的 {自己的编码} 是每一个注册阿里云账号都会分配有一个镜像。例如:

保存退出之后重新加载,并重启docker

1
2
# systemctl daemon-reload
# systemctl restart docker

到此,docker安装就是完整的结束。

下面是卸载docker的命令,这里就不演示了,有兴趣可以试试~~

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