开发者学堂课程【Docker 快速入门:Docker三要素】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/850/detail/14029
Docker 三要素
内容简介
一、Docker 安装前提
二、Docker 的三大要素
一、Docker 安装前提
Docker 不是在哪都能装,他有一定的安装条件。CentOS Docker 安装
Docker 支持以下的 CentOS 版本:
CentOS 7(64-bit)
CentOS 6.5(64-bit)或更高的版本
Docker 必须是6.5以上的版本,因为它出的比较晚
理由如下:
前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS7上,要求系统为64位、系统内核版本为3.10以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为2.6.32-431或者更高版本。
查看自己的内核是否符合6.5以上。
相当于中间这一块是主机。
左边一块即是客户端
比如要安装 NGINX,从远程程序中拉下来到本地之后,这就是一个镜像。某一个镜像的容器就是一个集装箱。Docker 即是各自独立的集装箱,就是的一个一个独立的环境。
二、Docker 三大要素
1、镜像
Docker 镜像(lmage)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。对应的即是一个一个的独立镜像。
镜像/容器
PersonP1= new Person();
person p2=newPerson();
person p3= newPerson();
P1、P2、P3相当于一个一个的独立应用,这时Java与docker的知识连用起来。如果做一个xxx集群,这时就可以运用Docker制作一个不同的集群。
容器与镜像的关系类似于面向对象编程中的对象与类
Docker |
面向对象 |
容器 |
对象 |
镜像 |
类 |
2、容器
Docker 利用容器(Container)独立运行的一个或一组应用:容器是用镜像创建的运行实例。
它可以被启动、开始、停止、删除。每个容器都可以看作是一个集装箱,每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括 root 用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上:面那一层是可读可写的。
为什么用容器虚拟化?Docker 包含业务所需要的运行式环境,比方说 docker 版的生态位,镜头镜像多长,只需要一百七十多兆。这就是用了它的内核。所以容许包括这对运行在其中的应用程序什么概念,可以把它当作是一个一版的、缩减版的、新鲜版的零件。
3、仓库
仓库(Repository)是集中存放镜像文件的场所。
仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub(https://hub.docker.com/).
存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等
正确概念
Docker 本身是一个容器运行载体或称之为管理引擎。Docker demo 即是后台的进程,把应用程序(包括一些代码、文件)和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎 image 镜像文件。只有通过这个镜像文件才能生成 Docker 容器,image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。
以前工程师需要装十次,现在不用,只需要安装一个 Docker上 面跑一个镜像,这个镜像复制一份即可,称之为镜像文件。
1、image 文件生成的容器实例,本身也是一个文件,称为镜像文件。
一个容器运行一种服务,当我们需要的时候,就可以通过 docker 客户端创建一个对应的运行实例,也就是我们的容器
2、至于仓储,就是放了一堆镜像的地方,我们可以把镜像发布到仓储中,需要的时候从仓储中拉下来就可以了。