zoukankan      html  css  js  c++  java
  • docker基础-基本概念

    1.镜像

    操作系统 = 内核 + 用户空间

    对于linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持,而docker镜像,就相当于root文件系统。

    docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序,库,资源,配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷,环境变量,用户等),镜像不包含任何静态数据,其内容在构建之后也不会改变。

    2.分层存储

    docker采用了Union FS的技术,实现分层存储的技术,镜像并非一个文件产生,而是由一组镜像产生的,或者说是由多层文件系统联合组成。

    镜像构建时,会一层一层的构建,前一层是后一层的基础,每一层构建完就不会再次改变,后一层的任何改变只会发生在当层,例如:删除前一层文件的操作,实际不是真的删除前一层的文件,而是删除前一层文件在当前层的标记。

    优点:使镜像的复用,定制更容易。

    3.容器

    容器和镜像的关系,就像类和实例的关系,一个是静态一个是动态,容器运行于自己独有的命名空间,所以容器可以拥有自己的root文件系统,自己的网络配置,自己的进程空间等。

    但是容器里的内存空间会随着容器的删除而删除,所以不能把资料存储在容器中,而应该使用数据卷或者绑定宿主目录,直接对宿主的内存空间进行操作。

    4.仓库

    docker registry是一个用于集中存储,分发镜像的服务,一个docker registry中可以包含多个仓库,每个仓库可以有多个标签,每个标签对应一个镜像。

    例如:

    ubuntu:16.04 前者为镜像名称,后者为版本号。

    jwilder/nginx-proxy 前者为作者,后者为镜像名称。

    5.docker registry公开服务

    是开放给用户使用,允许用户管理镜像的registry服务。一般这种仓库是允许用户上传,下载,并提供收费服务用户管理的私有镜像。

    6.私有docker registry

    用户搭建在本地的私有仓库,但是只有命令行形式,如果想要图形界面,镜像维护和用户管理等,那么就需要用到Docker Trusted Registry,Harbor或者Sonatype Nexus。

  • 相关阅读:
    python3中模块初识
    Django 应用程序 + 模型 + 基本数据访问
    Axure文本框验证和外部url的调用
    MATLAB 实时脚本(live-script)使用
    Django MTV 开发模式 + 数据库配置
    Django 模板继承
    Django 修改视图文件(views.py)并加载Django模块 + 利用render_to_response()简化加载模块 +locals()
    Django Context对象 + 过滤器 + 标签
    Axure 页面内多组内容切换的实现 + 利用一个内联框架实现百度地图访问
    MATLAB绘图功能(2) 二维底层绘图修饰
  • 原文地址:https://www.cnblogs.com/freeht/p/13167597.html
Copyright © 2011-2022 走看看