image.png

    image.png

    docker的三大组成要素
    1.镜像 image
    简单来说就是一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
    image.png
    2.容器 container
    Docker利用容器 独立运行一个或者一组应用。容器是用镜像创建的运行实例。
    它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
    可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户控件和网络空间等)和运行在其中的应用程序。
    容器的定义和镜像巨虎一模一样,也是一堆层的统一视角,唯一区别在于容器最上面那一层是可读可写的。
    3.仓库 repository
    仓库是集中存放镜像文件的场所。
    仓库和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(Tag)
    仓库分为公开(public)仓库和私有(private)仓库两种形式。
    最大的公开仓库是 Docker Hub(https://hub.docker.com),存放了数量庞大的镜像供公户下载,国内的公开仓库包括阿里云、网易云等。

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