Docker 架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

Docker 面向对象
容器 对象
镜像

概念 说明

Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。

Docker 容器(Container)

容器是独立运行的一个或一组应用,是镜像运行时的实体。

Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker SDK (Develop with Docker Engine SDKs | Docker Documentation) 与 Docker 的守护进程通信。

Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker Registry

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

Docker 架构简介相关推荐

  1. Docker架构简介 命令详解

    1.1.Docker的介绍 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且 独立于宿 ...

  2. 万字长文详解Docker架构原理及功能使用!

    作者:乐章 https://www.cnblogs.com/zhangxingeng/p/11236968.html  提示:文中有些内容为大神的博客内容,就不统一标注那里引用,只是再最下面标注参考连 ...

  3. Docker源码分析(一):Docker架构

    1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议.目前,Docker可以在容器内 ...

  4. docker容器简介及安装

    docker容器简介及安装 一.docker的前世今生 早期 过度 目前 二.什么是docker 三.docker核心概念 1.镜像 2.容器 3.仓库 四.docker容器和虚拟机的区别 五.doc ...

  5. Docker 架构原理及简单使用

    作者:乐章 www.cnblogs.com/zhangxingeng/p/11236968.html 一.简介 1.了解Docker的前生LXC LXC为Linux Container的简写.可以提供 ...

  6. Docker Compose 简介、安装、初步体验

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  7. 万字详解Docker架构原理、功能及使用

    一.简介 1.了解Docker的前生LXC LXC为Linux Container的简写.可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性.相当于C++中 ...

  8. 转载:Docker源码分析(一):Docker架构

    原文地址: http://www.infoq.com/cn/articles/docker-source-code-analysis-part1  作者:孙宏亮 1 背景 1.1 Docker简介 D ...

  9. 太全了|万字详解Docker架构原理、功能及使用(送书)

    点击上方"民工哥技术之路"选择"置顶或星标" 每天10点为你分享不一样的干货 一.简介 1.了解Docker的前生LXC LXC为Linux Container ...

最新文章

  1. Android自定义Layout
  2. NuGet学习笔记(2) 使用图形化界面打包自己的类库
  3. 二十九、Node.js连接Mysql和MongoDB数据库CURD操作
  4. Silverlight简介
  5. 如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
  6. java 如何排查内存溢出_java 内存溢出排查
  7. Python -- reload 函数
  8. 成绩的案例java_java-成绩案例
  9. pdo 连接操作数据库
  10. 【对讲机的那点事】解读无管局《回答》:充分理解物联网产业诉求,值得点赞!...
  11. 不要轻率的问自己可以想明白可以确认的问题
  12. 银河麒麟系统怎么安装微软雅黑字体
  13. 专注CTF Pwn的著作终于来了!从此悟透各类漏洞利用技术
  14. 一夜黑白——互联网人的悼念方式
  15. 多帧图像增强 matlab,MATLAB中图像增强技术的实现
  16. python 录屏_python实现录制全屏和选择区域录屏功能
  17. android半透明闪退,移动端常见面试题一:移动端兼容解决方案
  18. MyBatis基础原理
  19. C# 获取枚举类型描述Description值
  20. bxl类型封装怎么转换为AD库封装

热门文章

  1. ubuntu(23):ubuntu系统具有两个“系统盘”的说明:一个盘为系统盘,另一个为被系统文件占用的数据盘--可以格式化并重新分配卷类型和卷名称
  2. 如何利用小程序提升销售额?
  3. 同一家店换了老板,3个月营业额提升5倍
  4. KEIL 编译出现 could not write file
  5. 谨以此篇纪念CSDN创作两周年——20221028
  6. [hiho 16]RMQ-ST算法
  7. oracle pivot
  8. 1、vRealize Operations Manager 介绍
  9. java高斯分布_高斯分布的生成
  10. 【djysim】djyos模拟器-djysim,初步搞定,可以在djysim上面跑GUI了