zoukankan      html  css  js  c++  java
  • Docker系列(二)组件介绍

    镜像
    镜像是一个只读的模版,可以用来创建Docker容器。

    容器
    Docker利用容器来运行应用,容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是互相隔离的,保证安全的平台。可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序.

    仓库
    集中存放镜像文件的地方,容易把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像又不同的标签(tag).
    仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

    容器生命周期图

    image

    Docker本地信息存储

    路径:/var/log/message
    查看docker日志:
    tail –f /var/log/messages | grep docker

    /var/lib/docker/graph   存放本地Image里面的分层信息(镜像元数据)
    分层信息分两份存储,另外一份在GraphDB数据库(sqlite)中存储,当graph中分成信息被删除时会再从GraphDB中获取构造。
    每个容器的最大为10G

    /var/lib/docker/devicemapper/devicemapper/data 存储Image与Container的二进制数据文件
    Data为稀疏文件最大100G,随着文件占用空间的大小增大而增大。

    /var/lib/docker/devicemapper/devicemapper/metadata 存储相关元数据

    Docker Image文件分析

    下图为导出镜像jimages.tar包一级目录图

    image 

    说明:

    通过docker images -tree能够查看镜像的依赖关系
    根目录下的repositories中记录镜像的名称、TAG、IMAGE ID
    根目录下的每个文件夹对应了一层镜像文件名就是镜像ID
    每个文件夹下有layer.tar、json、VERSION三个文件

    1. VERSION文件记录本镜像版本号
    2. layer.tar文镜像的数据文件
    3. json文件内容为镜像的元数据文件,包含本镜像ID、依赖的父镜像ID、创建时间、相关容器信息、网络、主机名、环境变量等。
    4. docker images -tree建立的镜像之间的关系就是根据遍历根目录下json文件得到。
  • 相关阅读:
    github设置添加SSH
    pythonanywhere笔记
    Python3x 爬取妹子图
    python3.4 百度API接口
    简易博客开发(8)----django1.9 博客部署到pythonanywhere上
    Python3.4+Django1.9+Bootstrap3
    docker搭建私有仓库之harbor
    docker新手常见问题和知识点
    node之sinopia搭建本地npm仓库
    rancher-HA快速搭建
  • 原文地址:https://www.cnblogs.com/jianyuan/p/4897272.html
Copyright © 2011-2022 走看看