当前位置: 首页 > news >正文

【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的架构:

docker架构

2. Docker 架构图

docker架构图

3. Docker 运行流程图

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博客

http://www.lryc.cn/news/103696.html

相关文章:

  • matlab编程实践14、15
  • C++ ——STL容器【list】模拟实现
  • ubuntu 16.04 安装mujoco mujoco_py gym stable_baselines版本问题
  • 自然语言处理(NLP)技术
  • 如何将ubuntu LTS升级为Pro
  • 如何学习ARM嵌入式开发?
  • 二、使用运行自己的docker python容器环境
  • mac版窗口管理 Magnet for mac中文最新
  • Redis(五)—— Redis进阶部分
  • Go Ethereum源码学习笔记000
  • layui 设置选中时间为当天时间最大值23:59:59、laydate设置选中时间为当天时间最大值23:59:59
  • HTML+CSS+JavaScript:验证码60秒倒计时按钮
  • 互联网医院系统开发:打造便捷高效的医疗服务平台
  • 章节5:SQL注入之WAF绕过
  • iphone卡在恢复模式怎么办?修复办法分享!
  • uniApp禁止遮罩弹窗下的页面滚动
  • 【Huawei】WLAN实验(三层发现)
  • Windows 10 安装 PostgreSQL 12.x 报错 ‘psql‘ 不是内部或外部命令 由于找不到文件libintl-9.dll等问题
  • 在CSDN学Golang云原生(持续交付Argo)
  • 安全运维 -- splunk 集群配置归档
  • 使用kind在mac本地搭建k8s及istio
  • 11、springboot项目启动时对容器中的bean进行延迟初始化
  • 树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写SD Card (三)
  • C++继承特性(4)——友元与静态
  • VR党建主题数字互动虚拟展馆软件开启党建铸魂育人新篇章
  • 单网卡实现 双IP 双网段(内外网)同时运行
  • C# 委托2
  • 【计算机网络】网络层协议 -- IP协议
  • 记录浙政钉的消息通知的一次开发实战记录
  • 详解主流的Hybrid App 技术框架与研发方案