Container容器技术简介

news2024/11/27 14:30:41

本文介绍了容器技术出现背景,docker技术与容器编排技术的简单说明

背景

在传统项目的生产环境中,迁移一个用户态进程往往非常麻烦,因为一个用户态进程背后会附带这非常多例如函数库、中间件等的依赖项,但又没有像apt和yum一样的技术能够一次性解决各种依赖项。万一在迁移时,出现了一些数据可能的丢失,一些参数的错误,经常会导致迁移之后进程无法正常拉活。

我们一般采用的是将虚拟机整个打包成image进行I2I的离线迁移,但是由于迁移的是整个操作系统,其中会包括对于这个进程大量无用的要素,臃肿的系统会导致整个过程非常缓慢。说白了,我们跑这个进程只需要那么几个东西,结果你给我整个系统都迁移过来了。

在软件开发的领域,一些开发环境、测试环境也面临着这样的问题,搭建环境往往是一个非常费时费力错误率很高的活动。

那么有没有什么技术能够解决上述的这个问题呢,有,这就是容器Container技术

容器与虚拟机对比

Docker

docker是最经典的容器技术,它分为两个版本
-CE版本(社区版)
——edge版-每月更新 体验版
——stable版-稳定版
-EE版本(企业版)

docker作为client的构成分为三部分
1、docker deamon 守护进程(提供docker服务)
2、docker restful-api(通过http/https 发起访问)
3、client docker cli(使用docker 命令行进行管理,管理内容包括容器、镜像、存储、网络)

 docker的整体框架如下图所示
1、docker host运行docker主机
2、docker client命令行控制的客户端
3、docker registry镜像仓库

一般来说是由client通过pull命令通知docker daemon去registry拉取镜像到本地images,拉取完成后通过run命令通知docker daemon启动container

docker镜像的获取方式有两种,一种是从自己的docker file中构建,一种是从docker镜像仓库中获取

docker registry是存放容器镜像的仓库,用户可以进行镜像下载和访问,分为公有和私有两类registry
公有镜像仓库:
比如docker hub,是docker公司为公众提供的托管registry,是世界上最大的容器镜像仓库 Docker Hub
quay.io,是红帽的公共托管registry Repositories · Quay
私有镜像仓库:
可以由企业搭建私有registry,也可以由个人搭建,registry本身是一个开源的项目,可以用于搭建registry

容器编排

容器编排说简单点,就是容器的管理
类似于OpenStack管理kvm的虚拟机,容器编排技术就是通过写编排文件,对于底下的容器进行管理的过程,常用的容器编排软件有k8s,docker swarm

云原生的概念就是从中提取出的,
cloud native computing foundation(CNCF)基金会——隶属于linux基金会,由谷歌Google推出

CNCF其中一个开源项目就是kubernetes(K8s)
kubernetes是一个开源的,用于管理云平台中多个主机的容器化的应用
其目标是让部署容器化的应用简单高效,是能够自主的管理容器
不仅支持docker,也支持rocket等容器

containerd 容器技术框架

各家云厂商都有针对自己的云或者自己搞了个容器编排工具来支持自己的产品,
例如红帽基于kubernetes进行二次开发,推出了openshift
亚马逊推出了AWS ECS——Amazon Elastic Container Service

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

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

相关文章

广州华锐互动:钢铁厂烫伤事故3D模拟急救演练提高企业应对突发事故能力

随着工业化进程的加快,钢铁行业作为国家经济的重要支柱产业,其安全生产问题日益受到社会各界的关注。近年来,我国钢铁企业不断加大安全生产投入,但事故频发的现象仍然时有发生。为了提高钢铁企业应对突发事故的能力,确…

如何使用llm 制作多模态

首先将任何非字符的序列信息使用特殊n个token 编码。 具体编码方法以图像为例子说明: 将固定尺寸图像如256256 的图像分割为1616 的子图像块。 将已知的所有图像数据都分割后进行str将其看做是一个长的字符,而后去重后方式一个词表。 使用特殊1024 个tok…

推荐6款本周 火火火火 的开源项目

本周 GitHub项目圈选 节选自微博、知乎、掘金等社区。 🔥🔥🔥本周推荐的开源项目是: kopia 日常备份工具 screenshot-to-code 截屏生成代码 MiniSearch 全文搜索 clone-voice 声音克隆 NvChad 高颜值终端 DB-GPT-Hub 文本到…

关于 Kubernetes中Admission Controllers(准入控制器) 认知的一些笔记

写在前面 工作中遇到,简单整理记忆博文为官方文档整理涉及内置准入控制的分类理解理解不足小伙伴帮忙指正 人活着就是为了忍受摧残,一直到死,想明了这一点,一切事情都能泰然处之 —— 王小波《黄金时代》 为什么需要准入控制器 准…

怎样的软件测试工程师才算“大神“?“我“的测试之路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 个优秀的软件测试…

6.Eclipse里下载Subclipse插件

方法一:从Eclipse Marketplace里面下载 具体操作:打开Eclipse --> Help --> Eclipse Marketplace --> 在Find中输入subclipse搜索 --> 找到subclipse点击install 方法二:从Install New Software里下载 具体操作:打开…

RPC基础

RPC基础知识 RPC 是什么? RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。 为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间&…

【从零认识ECS云服务器 | 快速上线个人网站】一、ECS概述

首先我们来说什么是服务器,服务器本身就是一种电脑,和我们日常使用的电脑一样,同样具备CPU、内存、硬盘、网卡、电源等硬件,但是由于服务器是24小时不间断运行,所以需要更加强大的配置来支撑其运行,以保障公…

【c】16进制数转化为10进制数(计算方法在最后,大家也可以上网搜索视频,视频更详细,谢谢)

#include<stdio.h> #include<math.h> void trans(char arr1[],int arr[],int n) {puts("请输入16进制的数");for(int i0;i<n;i){scanf("%c",&arr1[i]);arr[i](int)arr1[i];}for(int k0;k<n;k){if(arr[k]>65&&arr[k]<7…

Java的第二十一章:网络通信

网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java 已经将网络程序所需要的元素封装成不同的类&#xff0c;用户只要创建这些类的对象&#xff0c;使用相应的方法&#xff0c;即使不具备有关的网络支持&#xff0c;也可以编写出高质量的网络通信程序。 …

Gee教程6.模板(HTML Template)

这一章节的内容是介绍 Web 框架如何支持服务端渲染的场景 实现静态资源服务(Static Resource)。支持HTML模板渲染。 这一章节很多内容是基于net/http库的&#xff0c;该库已经实现了很多静态文件和HMML模板的相关功能的了。 静态文件 网页的三剑客&#xff0c;JavaScript、C…

CentOS增加虚拟内存 (Linux增加内存)

前言 因为囊中羞涩不敢言&#xff0c;所以内存只有2G&#xff0c;项目在运行的时候&#xff0c;占用的内存已经报表&#xff0c;所以有的时候就会出现宕机的情况发生&#xff0c;后面发现可以通过使用增加虚拟内存空间&#xff0c;来增加内存容量。 下面进入正题&#xff0c;讲…

聊聊 Jetpack Compose 原理 -- Compose 是如何将数据转换成 UI 的?

Compose 是一个声明式的 UI 框架&#xff0c;提供了很多开箱即用的组件&#xff0c;比如 Text()、Button、Image() 等等&#xff0c;Compose 会经过几个不同的阶段&#xff0c;最终渲染出 UI 界面。 此转换过程分为【三个阶段】&#xff1a; 组合&#xff1a; 显示什么布局&a…

【MATLAB源码-第93期】基于matlab的白鲸优化算法(BWO)和鲸鱼优化算法(WOA)机器人栅格路径规划对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 白鲸优化算法&#xff08;BWO&#xff09; 白鲸优化算法是受到白鲸捕食和迁徙行为启发的一种算法。其主要特点和步骤包括&#xff1a; 1. 搜索食物&#xff08;全局搜索&#xff09;&#xff1a;算法模仿白鲸寻找食物的行为。…

西安安泰——ATA-1220E宽带放大器

ATA-1220E宽带放大器简介 ATA-1220E是一款可放大交直流信号的差分通道宽带放大器。其最大输出电压 60Vp-p(30Vp)&#xff0c;最大输出电流1Ap&#xff08;>50Hz&#xff09;。电压增益数控可调&#xff0c;一键保存设置&#xff0c;提供了方便简洁的操作选择&#xff0c;可…

公有云迁移研究——AWS Route53

大纲 1 什么是Route 532 Route 53能做些什么# 3 通过DNS托管来实现分流3.1 创建DNS托管3.2 对托管创建记录对流量进行分配 4 通过流量策略来对流量进行分流4.1 创建流量策略 5 对比两者的区别6 推荐 在给客户从本地机房往AWS迁移的过程中&#xff0c;我们接到如下需求&#xff…

Leetcode.2477 到达首都的最少油耗

题目链接 Leetcode.2477 到达首都的最少油耗 rating : 2012 题目描述 给你一棵 n n n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一个城市&#xff0c;编号从 0 0 0 到 n − 1 n - 1 n−1 &#xff0c;且恰好有 n − 1 n - 1 n−…

GNN Maximum Flow Problem (From Shusen Wang)

Maximum Flow Problem ShusenWang 图数据结构和算法课程笔记 Slides Maximum Flow Problem Description Naive Algorithm Residual Capacity - FlowLeft: Original GraphRight: Residual Graph - Bottleneck capacity 2- Iteration 2:- Find an augmenting path: s -&g…

Rust的From与Into Trait

Into的本质是调用了From Trait 的方法。 From是底层的方法&#xff0c;把From实现了&#xff0c;Into的实现&#xff0c;编译器会自动根据From Trait生成Into Trait的代码 编译器自动类型推导出Into Trait的U的类型&#xff0c;调用了U类型的From的方法&#xff0c;实现其他类…

解决HTTP错误500.19 - internal server error -内部服务器错误的终极指南

在开发和维护网络应用程序时&#xff0c;难免会遇到各种HTTP错误代码。其中&#xff0c;HTTP错误500.19 - 内部服务器错误可谓是最令人头痛的问题之一。当你的应用程序遇到这个错误时&#xff0c;它似乎就像一道墙壁&#xff0c;挡住了你前进的道路。但别担心&#xff0c;本篇技…