docker k8s

1、docker是什么?

将环境和程序一起打包给到 服务器运行的工具软件。

2、基础镜像base image是什么?

操作系统:用户空间、内核空间

阉割操作系统,利用其的用户空间(因为应用程序运行在用户空间),文件系统,依赖库打包成一个类似“压缩包”的文件。这就是所谓的基础镜像base image。


3、dockerfile是什么?

有了base image还不够,我们还需安装一些依赖和创建一些文件夹,最后才是运行我们的目标应用程序。因此我们将所有的要做的事情以命令行的形式分行列举出来,类似于一份todo List。像这份列清楚了从操作系统到应用服务启动需要做哪些事情的清单文件就是所谓的dockerfile。

4、container image(容器镜像)是什么

dockerfile只是描述了做哪些事情,并没开始做,用命令docker build执行的时候,docker软件就按照dockerfile说明,一行行构建环境加应用程序,最终将这个环境和应用程序打包成一个类似“压缩包”的东西,我们把它称之为容器镜像。

只要将容器镜像传到任意一台服务器对该“压缩包”进行“解压缩”,就可以同时运行环境和程序。

5、registry是什么?

服务器那么多,挨个将容器镜像传到上去,压力给到发送方的网络带宽了。

因此弄一个镜像仓库,通过docker push到镜像仓库,有需要的服务器通过docker pull将镜像拉到机器上,这个负责管理镜像仓库推拉能力的服务叫做docker registry。

6、容器是什么?

通过指令docker pull在服务器上拿到容器镜像,通过docker run,将这个类似压缩包的容器镜像进行解压缩,获得一个独立的环境和应用程序,并运行起来,这样一个独立的环境和应用程序就是所谓的容器。我们可以在一个操作系统上同时跑多个容器,且这些容器互相独立和隔离。

7、容器和虚拟机的关系

区别:容器不带操作系统,虚拟机带有一个操作系统。容器只包含核心依赖库和配置文件等必要组件,它利用一个namespace的能力,让它看起来像一个独立的操作系统。再利用一个cgroup的能力限制它能使用的计算资源。因此容器是一个自带独立运行环境的特殊进程,底层用的是宿主机的操作系统内核。

8、docker 的架构原理

经典的client-server架构。client对应docker-cli,sever对应docker daemon。我们在命令行里敲docker命令,使用的就是docker-cli,docker-cli会解析我们输入的command命令,然后调用docker daemon守护进程提供的restful-api,守护进程收到命令后,会根据命令创建和管理各个容器。

docker daemon架构:

docker daemon分成docker server和engine两层。docker server是个http服务器,负责对外提供操作容器和镜像api。接口接收到api请求后,会分发任务给engine层,engine层负责创建job,由job实际执行各种工作。

不同的docker命令会执行不同类型的job任务。

(1)docker build命令执行过程。

job根据dockerfile指令,像包洋葱皮似的一层层构建容器镜像文件。

(2)docker pull/push命令执行过程。

镜像推拉操作,job会根据外部的docker registry交互将镜像上传/下载。

(3)docker run命令执行过程。

job基于镜像文件调用containerd组件,驱使runC组件创建和运行容器。

9、docker compose是什么?多个容器一整套的部署。

docker容器本身是一个特殊的进程,但我们想部署多个容器,且对这些容器的顺序有一定的要求。比如一个博客,先启动数据库,再启动身份验证服务,最后启动博客微服务。因此普通做法是依次启动服务,但有更优雅的启动方式,通过一个yaml文件,写清楚要部署的容器有哪些,以及部署顺序,以及容器占有的cpu和内存信息。只需要通过docker compose命令解析yaml文件,将容器们一键按照顺序部署,就完成一整套的部署。

10、docker swam

它解决的是一整套服务,在多台服务器上的集群部署问题。如在a服务器上坏了,可以部署到b服务器上。还能根据需要对应用做扩缩容。

11、docker和k8s的关系。

k8s它会在多台node的服务器上调度pod进行部署和扩缩容。每个pod含有多个container,每个container本质上是一个服务进程。

k8s和swam的功能很像。

docker部署的容器就是k8s调度的pod里的container,它们都叫容器。docker compose基于多个docker container创建一整套服务,其实就是k8s里的pod。而docker swarn做的事情和k8s一样,本质就是在调度pod。

k8s称之为容器编排引擎,将它理解为以api编程的方式管理安排各个容器的引擎。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

转换Python2 转 Python3 小程序

转换Python2 -> Python3 藉由python35\Tools\scripts\2to3.py 档转换 python D:\python\Tools\scripts\2to3.py D:\Users\a0979\Desktop\scrip.pypython [转档程式] [欲转档.py] * python 为 python3 ->因为转档程式为python3 ![](https://i.imgur.com/PeQkvhk.png)py…

STM32的EXTI简介

一,EXTI(External Interrupt)外部中断事件控制器 什么是EXTI? 1.监测指定的GPIO口的电平信号变化,并检测到指定条件时,向内核的中断控制器NVIC发出中断申请。NVIC在裁决后,如果满足条件&#xf…

工业4.0能给电能表带来什么机会

一、技术革新与升级 工业4.0的核心在于智能化和网络化,这促使电能表行业进行技术革新和升级。传统的电能表功能单一,主要用于测量电能消耗。而在工业4.0的推动下,电能表逐渐发展成为集信息储存和处理、网络通信、实时监测等多种功能于一体的…

云计算【第一阶段(22)】Linux的进程和计划任务管理

目录 一、查看进程 1.1、程序和进程的关系 1.2、查看进程 1.2.1、静态查看进程信息ps ​编辑 1.2.1.1、实验 1.2.2、动态查看进程信息top 1.2.2.1、实验 1.2.2.2、top 命令全屏操作界面快捷键 1.2.3、pgrep根据特定条件查询进程pid信息 1.2.4、pstree命令以树形结构列出…

5、Python之rich:GUI之外,终端呈现也能玩出花

引言 在Python系列文章的上一篇中,我们从print的定义出发,进一步探索了print()函数更多的用法,尤其是一些哪怕是Python老手也可能忽略的用法。没有阅读的或者需要回顾print()及输出格式化的扩展用法,可以查看上一篇文章。 虽然pr…

Git安装与使用及整合IDEA使用的详细教程

1. 版本控制软件介绍 版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理…

Swift 新结构化并发中鲜为人知的 isolated 参数

概述 伴随着 Swift 5.5(WWDC21)推出的新结构化并发到今年的 WWDC 24 已经有 3 个多年头了。想必大家都对其中 async/awiat、async let、TaskGroup、Actor 等各种概念都了然于胸了吧? 不过小伙伴们可能不知道的是:新结构化并发&a…

【Eplan】P8-图纸设计的四种方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解 EPLAN 的图纸设计的四种方法:面向图形、面向设备、面向物料清单、面向安装情况; 2、 问题场景 为什么 EPLAN 要使用四种不同的设计方法。 3、软硬件环境 1、软件版本:EPLAN…

Ubuntu无法安全地用该源进行更新,所以默认禁用该源。

解决方案 1. 获取并添加缺失的 GPG 公钥 可以使用 apt-key 命令来添加缺失的公钥。根据错误信息,缺失的公钥是 3B4FE6ACC0B21F32。 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F322. 更新软件包列表 添加公钥后,更…

ADS131A04硬件设计与软件调试

一、IC基本信息 ADS131A0x 双通道或四通道 24 位 128kSPS 同步采样 Δ-Σ ADC •双通道或四通道同步采样差分输入 • 数据速率:高达 128kSPS • 高性能: – 单通道精度:在 10,000:1 动态范围内优于 0.1% – 有效分辨率:20.6位…

【MotionCap】搭建wsl2的pytorch环境

参考大神:wsl2-ubuntu版本 cuda下周cuda11.3 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run sudo sh cuda_11.3.0_465.19.01_linux.run cuda是开源的么?下15分钟

重磅!云起无垠荣获“智能模糊测试赛道领航者”等多项殊荣

近日,以 “新质•真能力”(新质生产力,安全真能力)为主题的第四届数字安全大会正式召开。在此次大会上,数世咨询发布了《中国数字安全产业年度报告(2024)》、新质百强榜单以及国内首本《数字安全蓝皮书》。这些报告和榜…

操作系统精选题(四)(论述题)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀操作系统 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 一、银行家算法的一道例题 二、页…

【NOI】C++程序设计入门四

文章目录 前言一、浮点型(float和double)1.float类型2.double类型 二、保留小数的方法方法一:方法二: 三、样题讲解问题1:1603. 冷饮的价格?问题2:1957. 求三个数的平均数问题3:1602…

爬数据是什么意思?

爬数据的意思是:通过网络爬虫程序来获取需要的网站上的内容信息,比如文字、视频、图片等数据。网络爬虫(网页蜘蛛)是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 学习一些爬数据的知识有什么用呢&#x…

(PC+WAP)高端大气的装修装潢公司网站模板

(PCWAP)高端大气的装修装潢公司网站模板PbootCMS内核开发的网站模板,该模板适用于装修公司网站、装潢公司网站等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可;(PCWAP),同一个后台,数据即…

Vue2动态代理,换服务无须重启项目

1、痛点 当我们需要使用不同的服务器时,就需要手动修改vue.config.js中配置并重新启动项目。当项目越来越大时,会需要较长的时间来等待项目启动,如此反复,极大影响我们开发进度。 2、寻求解决方案 vue-cli 的代理是使用的http-p…

新勒索软件 Shinra 与 Limpopo 浮出水面

Shinra 勒索软件概览 Shinra 勒索软件的样本文件最早在 2024 年 4 月提交给公开的文件扫描服务。攻击者在部署和运行勒索软件前会先窃取受害者的数据,还会删除卷影副本以阻止数据恢复。 攻击者有时会使用亚文化的人物来进行命名,研究人员也怀疑 Shinra…

clion远程开发

clion远程开发 简要概括: 建立 SFTP 通讯,创建远程目录与本地目录的映射文件夹,就可以把本机文件夹中的文件用鼠标右键选中上全传,打开自动同步功能,后面更改文件就可以自动同步文件了。 一.新建SFTP远程链接服务 …

C++感受12-Hello Object 派生版

不变的功能,希望直接复用原有代码;变化的功能,希望在分开的代码里实现。 派生的基本概念和目的如何定义派生类以及创建派生对象派生对象的生死过程 0. 课堂视频 ff14-HelloObject-派生版 1. 派生的基本概念与目的 编程,或者说软…