【Docker 学习笔记】Docker架构及三要素
文章目录
- 一、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架构及三要素相关推荐
- 狂神说--docker学习笔记-docker安装,常用命令,以及使用
狂神说bilibili视频地址:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 1. Docker概述 1.1 Docker为什么出现? 大家经常做一款 ...
- Docker学习笔记 — Docker私有仓库搭建
2019独角兽企业重金招聘Python工程师标准>>> 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库. 使用私有仓 ...
- Docker学习笔记 - Docker Compose
一.概念 Docker Compose 用于定义运行使用多个容器的应用,可以一条命令启动应用(多个容器). 使用Docker Compose 的步骤: 定义容器 Dockerfile 定义应用的各个服 ...
- Docker学习笔记 - Docker容器的日志
docker logs [-f] [-t] [--tail] 容器名 -f -t --tail="all" 无参数:返回所有日志 -f 一直跟踪变化并返回 -t 带时间戳返 ...
- 狂神 Docker学习笔记 从基础到进阶 一步到位
Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...
- Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)
文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...
- homeassistant mysql_学习笔记 篇三:HomeAssistant学习笔记docker安装的ha更换数据库
学习笔记 篇三:HomeAssistant学习笔记docker安装的ha更换数据库 2018-11-15 12:06:58 4点赞 18收藏 3评论 是返乡过年?还是就地过年?最新一届#双面过节指南# ...
- docker学习笔记(三)镜像
参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(二)docker常用命令 docker学习笔记(四)使用docker搭建环境 ...
- Docker 学习笔记 - 进阶四 Docker网络和 Docker compose
Docker 学习笔记 - 进阶四 Docker网络和 Docker compose 4. docker 网络 4.1 docker network是什么 4.1.1 docker不启动,默认网络情况 ...
- 开源的容器虚拟化平台Docker学习笔记,个人私藏分享,不谢!
一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...
最新文章
- DataGrid连接Access的快速分页法(1)——需求与现状
- 【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )
- 初学 Delphi 嵌入汇编[1] - 汇编语言与机器语言
- SetupDiGetClassDevs函数详解
- Windows 技术篇-win+R运行搜索gpedit.msc提示“MMC 不能打开文件”解决方法
- 算法入门经典第六章 例题6-2 铁轨
- OS--进程间通信详解(二)
- autoload.php beanbun_Beanbun: 简单开放的 PHP 爬虫框架
- 加油四班!加油佟穆!我们的征途是星辰大海!!!
- Linux命令之find命令中的-mtime参数
- 三流面试问技术,二流面试问平台,一流面试……
- 阿里云k8s私有仓库registry操作管理
- ionic 侧栏菜单用法
- python 秒数转化为时分秒
- 计算机网络原理 实验2《Windows Socket编程》
- 单细胞分析实录(10): 消除细胞周期的影响
- wpf-折线图绘制2-oxyplot-1
- 中国互联网公司如何进军海外,先行者六点血泪教训
- 软件质量之道:PCLint之中的一个
- 修改ardupilotmega.h中MAV_CMD联合体中的命令定义,增加MAV_CMD_LED_CONTROL命令