Docker:01 OverView

Docker:01 OverView

基本介绍

Docker是一个用于开发、交付、运行应用程序的开放平台,可以使应用程序与基础架构分开,以便快速交付软件。

Docker在一个被叫做容器的隔离环境下,提供了打包和运行的能力。

容器非常轻量化,包含运行应用程序所需的一切。

Docker的架构如下:

在这里插入图片描述

Docker使用了Client-Server 的架构。

Docker客户端与Docker daemon 通过REST API进行通信,基于UNIX sockets或者网络接口。

Docker daemon 负责构建、运行、分发docker容器。

Docker Client和Docker daemon可以运行在同一个系统下,也可以用Docker Client连接远程的Docker daemon。

Docker还有一个客户端,被称为 Docker Compose,可以处理一组容器构成的应用程序。

核心概念

Docker daemon

Docker daemon监听Docker API请求,管理Docker 对象,例如:镜像、容器、网络、卷。

Docker Client

Docker Client是大部分用户与Docker交互的方式。

当你发送命令时,是Docker Client负责使用Docker API把命令发送出去。

Docker Client可以与多个Docker daemon进行通信。

Docker Registry

Docker Registry 是保存docker镜像的地方。

Docker Hub是任何人都可以使用的,公开的Docker Registry。

Docker 默认会从 Docker Hub上面查找镜像,当然也可以自己运行在 private registry。

当用户运行 docker run 的时候,Docker会从配置的Docker Registry上面拉取镜像。

当用户运行 docker push 的时候,Docker 会把镜像推送到配置的Docker Registry上面。

Docker Object

使用 Docker 时,实际上就是在创建和使用映像、容器、网络、卷、插件和其他对象。

images

镜像是一个只读的模板,这个模板定义了如何创建一个docker 容器。

通常,一个镜像都是基于其他镜像,外加一些额外的定制化,而制作出来的。

你可以创建自己的镜像,也可以用别人制作并开放出来的镜像。

当你自己想要制作镜像的时候,需要用Dockerfile的语法,定义必须的步骤去创建镜像。

在Dockerfile中的每一个指令在镜像中创建新的一层。当你改变Dockerfile的时候,只有这些新的层会发生变化,这也保证了docker镜像的轻量化。

containers

container(容器)就是镜像的运行时实例。

你可以通过Docker API或者CLI,来创建、开始、通知、删除一个容器。

默认情况下,同一台主机上,一个容器与其他容器都隔离的比较好。你也可以控制一个容器的网络、存储、或者子系统要如何跟另一个容器来隔离。

容器停止后,未存储在持久化存储上的东西将会消失。

底层技术

Docker 是由Go语言编写的,利用了linux内核的一些特性实现功能。

Docker的用一种叫做namespace的技术提供了隔离的工作空间,把这个实现的隔离空间称为docker容器。

每个Docker容器都跑在独立的namespace下面,访问权限也限制在这个namespace下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/74938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android studio 调整jar包顺序

第一步:编译jar包,放入lib路径下:如: 第二步:app 目录下build.gradle 中添加 compileOnly files(libs/classes.jar) 第三步:project目录下build.gradle 中添加 allprojects {gradle.projectsEvaluated {t…

第50节:cesium 绘制指定类型区域(含源码+视频)

结果示例: 完整源码: <template><div class="viewer"><el-button-group class="top_item"><el-button type=

正则表达式参考手册

修饰符 修饰符用于执行区分大小写和全局匹配: 修饰符描述i执行对大小写不敏感的匹配。g执行全局匹配&#xff08;查找所有匹配而非在找到第一个匹配后停止&#xff09;。m执行多行匹配。 方括号 方括号用于查找某个范围内的字符&#xff1a; 表达式描述[abc]查找方括号之间…

1、Flutter移动端App实战教程【环境配置、模拟器配置】

一、概述 Flutter是Google用以帮助开发者在IOS和Android 两个平台开发高质量原生UI的移动SDK&#xff0c;一份代码可以同时生成IOS和Android两个高性能、高保真的应用程序。 二、渲染机制 之所以说Flutter能够达到可以媲美甚至超越原生的体验&#xff0c;主要在于其拥有高性…

Jetsonnano B01 笔记5:IIC通信

今日继续我的Jetsonnano学习之路&#xff0c;今日学习的是IIC通信&#xff0c;并尝试使用Jetson读取MPU6050陀螺仪数据。文章提供源码。文章主要是搬运的官方PDF说明&#xff0c;这里结合自己实际操作作笔记。 目录 IIC通信&#xff1a; IIC硬件连线&#xff1a; 安装IIC库文…

智能小车之蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车

目录 1. 蓝牙控制小车 2. 蓝牙控制并测速小车 3. wifi控制测速小车 4. 4g控制小车 5. 语音控制小车 1. 蓝牙控制小车 使用蓝牙模块&#xff0c;串口透传蓝牙模块&#xff0c;又叫做蓝牙串口模块 串口透传技术&#xff1a; 透传即透明传送&#xff0c;是指在数据的传输过…

Codeforces Round 855 (Div 3)(A - F)

Codeforces Round 855 (Div. 3)&#xff08;A - F&#xff09; Codeforces Round 855 (Div. 3) A. Is It a Cat?(思维) 思路&#xff1a;先把所有字母变成小写方便判断 &#xff0c; 然后把每一部分取一个字母出来 &#xff0c; 判断和‘meow’是否相同即可。 复杂度 O ( n…

QStandardItemModel,setData()方法,最后一个参数角色值用法

QStandardItemModel中&#xff0c;setData(index, xxx, Qt::EditRole); 后面的角色值填写Qt::EditRole就可以往模型中设置值&#xff0c;而填写Qt::UserRole就不可以往模型中设置值&#xff0c;解决方案&#xff1a; Qt::EditRole和Qt::UserRole是Qt模型/视图框架中用于描述数据…

掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC时代的应用(下篇)

前言&#xff1a;在前面的两篇文章中&#xff0c;我们深入探讨了AI助手中的魔法工具——Prompt&#xff08;提示&#xff09;的基本概念以及在AIGC&#xff08;Artificial Intelligence-Generated Content&#xff0c;人工智能生成内容&#xff09;时代的应用场景。在本篇中&am…

vue3切换路由模式——Hash 、histoary

1、history模式 使用createWebHistory import { createRouter, createWebHistory } from vue-router import Home from ../views/Home.vue const routes [{path: /,name: Home,component: Home},{path: /about,name: About,component: () > import(../views/About.vue)} ]…

10.Xaml ListBox控件

1.运行界面 2.运行源码 a.Xaml 源码 <Grid Name="Grid1"><!--IsSelected="True" 表示选中--><ListBox x:Name="listBo

生成树协议 STP(spanning-tree protocol)

一、STP作用 1、消除环路&#xff1a;通过阻断冗余链路来消除网络中可能存在的环路。 2、链路备份&#xff1a;当活动路径发生故障时&#xff0c;激活备份链路&#xff0c;及时恢复网络连通性。 二、STP选举机制 1、目的&#xff1a;找到阻塞的端口 2、STP交换机的角色&am…

常用ClickHouse问题诊断查询

常用ClickHouse问题诊断查询 Clickhouse是一个性能强大的OLAP数据库&#xff0c;在实际使用中会遇到各种各样的问题&#xff0c;同时也有很多可以调优的地方。本文阐述如何对ClickHouse做问题诊断和性能分析。 相关的系统表 序号表名含义说明1system.asynchronous_insert_lo…

Leetcode 2851. String Transformation

Leetcode 2851. String Transformation 0. 吐槽1. 算法思路 1. 整体思路2. 字符串匹配优化 2. 代码实现 题目链接&#xff1a;2851. String Transformation 0. 吐槽 这道题多少有点坑爹&#xff0c;题目本身挺有意思的&#xff0c;是一道数组题目&#xff0c;其实用数学方法…

Java开发面试--nacos专区

1、 Nacos是什么&#xff1f; 请简要介绍Nacos是什么以及它的主要功能和用途。 答&#xff1a; 简介&#xff1a; Nacos是一个开源的、高性能、动态服务发现、配置和服务管理平台&#xff0c;通常用于微服务架构中。Nacos的名称来源于"Naming"&#xff08;服务发现…

【2023年11月第四版教材】第12章《质量管理》(第一部分)

第12章《质量管理》&#xff08;第一部分&#xff09; 1 章节说明2 管理基础3 管理过程3.1 管理ITTO汇总★★★ 1 章节说明 【本章分值预测】大部分内容不变&#xff0c;细节有一些变化&#xff0c;预计选择题考3-4分&#xff0c;案例和论文都有可能考&#xff1b;是需要重点学…

【Vue2.0源码学习】生命周期篇-初始化阶段(initState)

文章目录 1. 前言2. initState函数分析3. 初始化props3.1 规范化数据3.2 initProps函数分析3.3 validateProp函数分析3.4 getPropDefaultValue函数分析3.5 assertProp函数分析 4. 初始化methods5. 初始化data6. 初始化computed6.1 回顾用法6.2 initComputed函数分析6.3 defineC…

Unity记录一些glsl和hlsl的着色器Shader逆向代码

以下内容一般基于 GLSL 300 之后 以下某些代码行&#xff0c;是“伪代码“&#xff0c;绝大部分是renderDoc 逆向产生标准代码 本人OpenlGL零基础&#xff0c;也不打算重头学 目录 Clip&#xff08;&#xff09; 剔除函数 discard; FS最终颜色输出 out 和最终颜色相加方程…

Hadoop的HDFS的集群安装部署

注意&#xff1a;主机名不要有/_等特殊的字符&#xff0c;不然后面会出问题。有问题可以看看第5点&#xff08;问题&#xff09;。 1、下载 1.1、去官网&#xff0c;点下载 下载地址&#xff1a;https://hadoop.apache.org/ 1.2、选择下载的版本 1.2.1、最新版 1.2.2、其…

docker报错解决方法

ERROR: readlink /var/lib/docker/overlay2/l: invalid argument 注意&#xff1a;会清空已有安装 sudo service docker stop sudo rm -rf /var/lib/docker sudo service docker start