文章目录

  • 一、Docker 简介
  • 二、Docker 架构
    • 1. Docker 客户端和服务器
    • 2. Docker 架构图
    • 3. Docker 运行流程图
  • 三、Docker 三要素
    • 1. 镜像(Image)
    • 2. 容器(Container)
    • 3. 仓库(Repository)

一、Docker 简介

Docker是一个开源的应用容器引擎,基于Go语言 并遵从Apache2.0协议开源;

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

二、Docker 架构

1. Docker 客户端和服务器

Docker是客户-服务器(C/S)架构的程序。

Docker客户端只需向Docker服务器或守护进程发出请求,服务器或守护进程将完成所有工作并返回结果。

Docker提供了一个命令行工具docker以及一整套 RESTful API

你可以在同一台宿主机上运行Docker守护进程和客户端,也可以从本地的Docker客户端连接到运行在另一台宿主机上的远程Docker守护进程。

下图描绘了Docker的架构:

2. Docker 架构图

3. Docker 运行流程图

三、Docker 三要素

Docker的三个基本要素:镜像(Image)、容器(Container)、仓库(Repository)

1. 镜像(Image)

镜像是容器构建的基石,是基于联合文件系统(UnionFS)的一种层式结构。

它由一系列指令构建,是一种轻量级、可执行的独立软件包,用于打包软件运行环境和基于运行环境开发的软件(代码、运行时、库、环境变量和配置文件)。

Docker镜像(image)就是一个只读的模板。 镜像可以用来创建Docker容器,一个镜像可以创建很多容器

2. 容器(Container)

Docker利用容器(container)独立运行的一个或者一组应用。

容器是利用镜像创建的运行实例(相对于Java中的类和对象的概念)。

容器可以被启动、开始、停止、删除。每个容器都是互相隔离的,保证安全的平台。

可以把容器看做是一个简易版的Linux环境 (包括root用户名权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序

3. 仓库(Repository)

仓库(repository)是集中存放镜像文件的场所。

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

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

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



更多详情可参考

Docker 架构及工作原理 - docker动态 - docker中文社区

Docker架构及其三要素 - DeepInThought - 博客园 (cnblogs.com)

Docker原理(图解+秒懂+史上最全)_40岁资深老架构师尼恩的博客-CSDN博客

图解Docker的整体架构_docker架构图_postnull的博客-CSDN博客

【Docker 学习笔记】Docker架构及三要素相关推荐

  1. 狂神说--docker学习笔记-docker安装,常用命令,以及使用

    狂神说bilibili视频地址:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 1. Docker概述 1.1 Docker为什么出现? 大家经常做一款 ...

  2. Docker学习笔记 — Docker私有仓库搭建

    2019独角兽企业重金招聘Python工程师标准>>> 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库. 使用私有仓 ...

  3. Docker学习笔记 - Docker Compose

    一.概念 Docker Compose 用于定义运行使用多个容器的应用,可以一条命令启动应用(多个容器). 使用Docker Compose 的步骤: 定义容器 Dockerfile 定义应用的各个服 ...

  4. Docker学习笔记 - Docker容器的日志

    docker logs  [-f]  [-t]  [--tail]  容器名 -f -t --tail="all" 无参数:返回所有日志 -f 一直跟踪变化并返回 -t 带时间戳返 ...

  5. 狂神 Docker学习笔记 从基础到进阶 一步到位

    Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...

  6. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

  7. homeassistant mysql_学习笔记 篇三:HomeAssistant学习笔记docker安装的ha更换数据库

    学习笔记 篇三:HomeAssistant学习笔记docker安装的ha更换数据库 2018-11-15 12:06:58 4点赞 18收藏 3评论 是返乡过年?还是就地过年?最新一届#双面过节指南# ...

  8. docker学习笔记(三)镜像

    参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(二)docker常用命令 docker学习笔记(四)使用docker搭建环境 ...

  9. Docker 学习笔记 - 进阶四 Docker网络和 Docker compose

    Docker 学习笔记 - 进阶四 Docker网络和 Docker compose 4. docker 网络 4.1 docker network是什么 4.1.1 docker不启动,默认网络情况 ...

  10. 开源的容器虚拟化平台Docker学习笔记,个人私藏分享,不谢!

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

最新文章

  1. DataGrid连接Access的快速分页法(1)——需求与现状
  2. 【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )
  3. 初学 Delphi 嵌入汇编[1] - 汇编语言与机器语言
  4. SetupDiGetClassDevs函数详解
  5. Windows 技术篇-win+R运行搜索gpedit.msc提示“MMC 不能打开文件”解决方法
  6. 算法入门经典第六章 例题6-2 铁轨
  7. OS--进程间通信详解(二)
  8. autoload.php beanbun_Beanbun: 简单开放的 PHP 爬虫框架
  9. 加油四班!加油佟穆!我们的征途是星辰大海!!!
  10. Linux命令之find命令中的-mtime参数
  11. 三流面试问技术,二流面试问平台,一流面试……
  12. 阿里云k8s私有仓库registry操作管理
  13. ionic 侧栏菜单用法
  14. python 秒数转化为时分秒
  15. 计算机网络原理 实验2《Windows Socket编程》
  16. 单细胞分析实录(10): 消除细胞周期的影响
  17. wpf-折线图绘制2-oxyplot-1
  18. 中国互联网公司如何进军海外,先行者六点血泪教训
  19. 软件质量之道:PCLint之中的一个
  20. 修改ardupilotmega.h中MAV_CMD联合体中的命令定义,增加MAV_CMD_LED_CONTROL命令

热门文章

  1. 洛谷P2375 [NOI2014] 动物园 题解
  2. 可开分站的知识付费源码免费分享
  3. SHELL EXECUTE
  4. 国企,私企与外企利弊通观--关键时刻给应届毕业生及时点拨(一)
  5. 万科与鑫苑,解读房地产企业最佳管理模式
  6. c语言国二题库及答案2017,国二c语言笔试题库(含答案)可转TXT
  7. 桥牌笔记:防止将牌失控
  8. 【Java】一些常问的问题
  9. 当我们反对996时,我们在反对什么?
  10. 8.1分享zwh分享图