Docker简介

google wave NULL 博文链接:https://ssdutliuhaibo.iteye.com/blog/1284428 立即下载

什么是虚拟化

​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用
虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。

什么是Docker

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

​ 在这里插入图片描述

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

为什么选择Docker?

(1)上手快。
用户只需要几分钟,就可以把自己的程序“Docker化”。Docker依赖于“写时复制”(copy-on-write)模型,使修改应用程序也非常迅速,可以说达到“随心所致,代码即改”的境界。
随后,就可以创建容器来运行应用程序了。大多数Docker容器只需要不到1秒中即可启动。由于去除了管理程序的开销,Docker容器拥有很高的性能,同时同一台宿主机中也可以运行更多的容器,使用户尽可能的充分利用系统资源。

(2)职责的逻辑分类
​ 使用Docker,开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如何管理容器。Docker设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署的生产环境一致性。从而降低那种“开发时一切正常,肯定是运维的问题(测试环境都是正常的,上线后出了问题就归结为肯定是运维的问题)”

(3)快速高效的开发生命周期
​ Docker的目标之一就是缩短代码从开发、测试到部署、上线运行的周期,让你的应用程序具备可移植性,易于构建,并易于协作。(通俗一点说,Docker就像一个盒子,里面可以装很多物件,如果需要这些物件的可以直接将该大盒子拿走,而不需要从该盒子中一件件的取。)

(4)鼓励使用面向服务的架构
​ Docker还鼓励面向服务的体系结构和微服务架构。Docker推荐单个容器只运行一个应用程序或进程,这样就形成了一个分布式的应用程序模型,在这种模型下,应用程序或者服务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序都变得非常简单,同时也提高了程序的内省性。(当然,可以在一个容器中运行多个应用程序)

容器与虚拟机比较

下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

在这里插入图片描述

与传统的虚拟机相比,Docker优势体现为启动速度快、占用体积小。

Docker 组件

Docker服务器与客户端

Docker是一个客户端-服务器(C/S)架构程序。Docker客户端只需要向Docker服务器或者守护进程发出请求,服务器或者守护进程将完成所有工作并返回结果。Docker提供了一个命令行工具Docker以及一整套RESTful API。你可以在同一台宿主机上运行Docker守护进程和客户端,也可以从本地的Docker客户端连接到运行在另一台宿主机上的远程Docker守护进程。

在这里插入图片描述

Docker镜像与容器

镜像是构建Docker的基石。用户基于镜像来运行自己的容器。镜像也是Docker生命周期中的“构建”部分。镜像是基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来。例如:

添加一个文件;

执行一个命令;

打开一个窗口。

也可以将镜像当作容器的“源代码”。镜像体积很小,非常“便携”,易于分享、存储和更新。

​ Docker可以帮助你构建和部署容器,你只需要把自己的应用程序或者服务打包放进容器即可。容器是基于镜像启动起来的,容器中可以运行一个或多个进程。我们可以认为,镜像是Docker生命周期中的构建或者打包阶段,而容器则是启动或者执行阶段。 容器基于镜像启动,一旦容器启动完成后,我们就可以登录到容器中安装自己需要的软件或者服务。

所以Docker容器就是:

一个镜像格式;

一些列标准操作;

​ 一个执行环境。

​ Docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker将这个模型运用到自己的设计中,唯一不同的是:集装箱运输货物,而Docker运输软件。

和集装箱一样,Docker在执行上述操作时,并不关心容器中到底装了什么,它不管是web服务器,还是数据库,或者是应用程序服务器什么的。所有的容器都按照相同的方式将内容“装载”进去。

Docker也不关心你要把容器运到何方:我们可以在自己的笔记本中构建容器,上传到Registry,然后下载到一个物理的或者虚拟的服务器来测试,在把容器部署到具体的主机中。像标准集装箱一样,Docker容器方便替换,可以叠加,易于分发,并且尽量通用。

Registry(注册中心)

Docker用Registry来保存用户构建的镜像。Registry分为公共和私有两种。Docker公司运营公共的Registry叫做Docker Hub。用户可以在Docker Hub注册账号,分享并保存自己的镜像(说明:在Docker Hub下载镜像巨慢,可以自己构建私有的Registry)。
docker仓库地址

避免bank conflict的使用共享内存的矩阵转置。及其循环展开。转置前后都是行主序,中间共享内存中是列主序 为了避免bank conflict,可以使用padding的方式将数组中的每一行各自占据一个bank,这样每个线程读取不同行的数据时就不会发生bank conflict。padding的方式是在每行数据后面添加一定数量的空数据,使得每行的字节数恰好是bank的整数倍,这样就能保证每行数据各自占据一个bank。具体来说,当一个线程访问共享内存中的一个元素时,GPU会根据该元素在共享内存中的地址计算出其所在的bank,然后将该元素从该bank中读取出来。 阅读详情

相关推荐

保姆级教程:在RV1126开发板上跑通YOLOv5口罩检测(从数据集到摄像头实时识别)

本文提供了一份详细的RV1126开发板部署YOLOv5口罩检测系统的全流程指南,涵盖数据集准备、模型训练优化、边缘部署及实时摄像头识别等关键步骤。重点解析了RV1126开发板的性能特征、YOLOv5模型训练调优技巧、RKNN模型转换量化策略,以及部署过程中的性能优化方案,帮助开发者高效实现边缘端目标检测应用。

weixin_27310985的博客 108

Google Wave的失败是协同工具的一个很好的教训

我们生活在一个充满选择的世界里。如果你正在建造一个产品,但不了解它为最终用户提供的具体价值,你就会为自己设定失败。当人们感觉不到你的工具的影响时,他们很快就会转向竞争对手,寻求更好(更有意义)的解决方案。

妙记多 Mojidoc 383

Rk3568 百兆以太网RMII模式DTS配置详解

本文详细解析了RK3568芯片在百兆以太网RMII模式下的DTS配置方法,包括时钟树配置、PHY接口模式定义及实际工程中的进阶设置。通过实战案例和调试技巧,帮助开发者快速解决RMII模式下的常见问题,提升工业控制设备的网络稳定性。

weixin_29189377的博客 420

Google Wave 到底是什么?

Google 实验性交流平台 Google Wave 已经揭开面纱,一些人甚至亲手体验并作了评测,然而关于 Wave 还有很多值得讨论的东西,Wave 在不同人眼里有不同的印象,有人觉得是一种更好的 E-mail 工具,有人觉得是包含了新功能的 IM,开发者看中它的开放特性及API,然而 Wave 到底是什么,CNET 的编辑对此有一番说辞。 Wave 比 e-mail 好吗?CN

COMSHARP CMS 专栏 5964

系统回溯信息:遇到严重错误。已将回溯写入...PTC... raceback.log请将其发送给|技术支持|。

一、问题分析 这种问题一旦遇上了,如果忘了保存,直接心态爆炸。 该问题一般是显卡驱动的问题。ProE/Creo对显卡的基本要求是:支持Open_GL的3D显卡,分辨率为1024×768像素以上,推荐使用64位独立显卡,显存512MB以上。如若显卡性能太低,打开软件后易自动退出。 二、解决方法 <1>有一个非常简单的方法是:在config.pro文件中,改变图形配置graphics为” win32_gdi”而不是默认的“...

幕光倾城的博客 2万+

CMake接口库实战:如何用add_library的INTERFACE选项管理跨项目依赖

本文深入探讨了CMake中add_library的INTERFACE选项在管理跨项目依赖时的实战应用。通过创建不包含源代码的接口库,开发者可以集中管理头文件路径、编译定义、链接库等公共配置,并将其声明式地传递给依赖目标。文章以构建模块化跨平台网络应用为例,详细展示了如何利用接口库实现配置的集中化、依赖关系的显式化,从而提升大型项目的可维护性和可移植性。

water的专栏 1040

Google Wave入门详细指南

Google Wave发布的第一版是功能受限并且只有被邀请者可以加入使用的。如果你还没有用过Wave,本文将介绍怎样能得到一个Wave预览版的邀请,如何创建一个新的Wave帐号,如何使用Wave及如何创建你的第一个wave。学习如何使用三种方法更新和编辑一个wave,发现和加入公共开放的wave。好, 现在让我们开始Wave之旅吧。说明:首字大写的Wave表示的是Wave协议或者Wave客

朝着梦想 渐行前进 2428

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解)

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解) 大家好,我是菌菌巧乐兹,励志用最简单的语言来讲解程序知识点。

菌菌兹的博客 1669

Google wave 开源代码更新 wave-libraries-2010-11-17.zip 可以下载

  google wave  的代码更新 还是够快的。   上次是 20 10 -11 -09 发布的。   才过了 8 天又发布了一个版本。   还好我 做了记录。。 http://toeo.iteye.com/admin/blogs/808628       附件是下载 文件   也可以直接从服务器下载最新 版本。   http://code.goo...

freewebsys的专栏 377

避坑指南:RK3588视频编码与SRT推流实战中,我遇到的5个典型问题及解决方案

本文深度解析RK3588平台视频编码与SRT推流实战中的五个典型问题,包括MIPI摄像头内存对齐、多线程数据传递、FFmpeg时间戳设置、SRT连接参数调优及系统资源监控。提供具体解决方案和优化技巧,帮助开发者高效实现实时视频网络传输。

weixin_28718793的博客 324

别再调PID了!用MATLAB/Simulink给四旋翼无人机搭个ADRC控制器(附完整仿真模型)

本文详细介绍了在MATLAB/Simulink环境中为四旋翼无人机搭建ADRC控制器的完整流程,包括核心原理、Simulink建模、参数调试技巧及与PID控制的性能对比。ADRC通过扩张状态观测器(ESO)有效提升无人机在复杂扰动下的控制性能,特别适合四旋翼无人机这类强耦合系统。文章还提供了完整的仿真模型和工程实践问题解决方案。

weixin_26808439的博客 382

Google Wave 使用方法

1. 什么是Google wave? EMail和IM的结合,也是GMail和GTalk的结合,本质是协同办公; 一个Wave就是Google Wave中的一个会话,可以说类似一个Conversation ,一个Wave中可以包括一个人,也可以包括若干个人,甚至还能包括机器人; Google Wave吸收了Email和IM软件的优点,是Google即将推出的信息分享、共同协作、工作讨...

醋溜的 1485

《驾驭你的AI同事:WorkBuddy深度精通》027:11.1 私有知识库接入

11.1 私有知识库接入 —— 《驾驭你的AI同事:WorkBuddy深度精通》系列图文教程,配图已统一为规范示意图。

LuckyHanMo的博客 140

从Google Wave之死说起

8月4日,Google宣布停止Wave作为一个独立产品的开发,原因是Wave的用户接受情况未达到预期。一年多前,也就是2009年5月28日,Google在旧金山总部举行的I/O大会上推出Wave时,业内好评如潮,被誉为“颠覆性”、“革命性”的产品,Wave邀请码在eBay甚至被炒到70美元的高价!从互联网产品的角度考察,Wave无疑是一个值得探讨的话题。 本系列由三篇文章组成: 高巍:产品经理...

《程序员》官方BLOG 363

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

wave2和wave1_您会在Google Wave上冲浪吗?

wave2和wave1Do you remember Google Wave? The HTML5 project was one of Google’s more exciting endeavors in 2009. Google believed that email was old, clunky and needed to be re-imagined for the 21st Cent...

culi4814的博客 280

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Google Wave技术复盘:实时协同架构的得失与遗产

实时协同编辑是现代SaaS产品的核心能力,其本质是多端状态同步、操作一致性保障与历史可追溯性的系统工程。基于操作转换(OT)与有向无环图(DAG)的数据模型,能实现毫秒级响应、视频式回放和跨设备无缝续写,显著提升团队知识协作效率。这类架构在云计算基础设施支撑下,天然适配社交软件所需的权限嵌入、订阅广播与联邦互联能力,已深度融入Notion、Figma等主流工具。本文以Google Wave为蓝本,解析其Wave Model设计哲学、XMPP联邦实践与GWT前端工程决策,还原一个超前但未竟的协同范式如何塑造今

diaojin6880的博客 442

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

wave2和wave1_Google Wave的再见

wave2和wave1Google is scrapping its Wave collaborative messaging service citing a lack of user interest. Google’s senior vice president of operations, Urs Hölzle commented: 谷歌以用户缺乏兴趣为由取消了Wave协作消息服务。 谷...

culi4814的博客 505

Google Wave失败带来的教训

Google Wave失败带来的教训<br />正是由于Google Wave的定位不清晰、稳定性差,刚满一周岁的它就注定永远长不大,甚至可能随时死亡。<br />因为我也从事跟产品相关的工作,当Google正式宣布Wave失败时,我想了很多。在做互联网产品时,我认为以下几点是非常重要的:1、快速<br />互联网让人变得比以往更急躁,多一秒的等待时间都可能让用户愤怒地关闭浏览器。一个连接与响应速度快的服务能给用户带来愉悦的体验。2、稳定<br />稳定是成功的基础。一个服务可以偶尔不稳定,比如Twitte

changjianghoulang168的专栏 630

Google Wave技术架构与企业级应用解析

实时协作技术是现代Web应用的核心需求之一,其底层原理主要依赖操作转换(OT)算法或冲突-free复制数据类型(CRDT)来实现多用户同步编辑。Google Wave作为早期先驱,通过XMPP协议和OT算法构建了去中心化协作架构,其企业级功能如沙盒化扩展机制和六层级权限模型,至今仍影响着Slack、Teams等现代协作工具的设计。在技术实现上,Wave采用GWT前端框架与Bigtable存储的组合,特别适合需要高实时性要求的场景如在线文档编辑、CRM集成等。随着WebAssembly和微前端技术的发展,这些

weixin_42579969的博客 246

Google Wave失败的原因与教训(转帖)

Google Wave失败的原因与教训byJason Ng 源地址:http://www.kenengba.com/post/2982.html Google昨天宣布将停止开发Google Wave,因为它的用户数量达不到Google的预期,但会维持它的运行并将部分代码开源。在写前面一句话的时候,我在思考要不要先介绍一下"Google Wave"是什么,但我陷入了困境,因为我不能用简短...

weixin_30613727的博客 211

Google Wave的架构

InfoQ http://www.infoq.com/cn/news/2009/06/wave  Google Wave是一个工具,也是一个平台、还是一个协议。其架构的核心是操作转换(Operational Transformation,OT),这是一个支持并发控制的理论型框架。首先需要看看Google Wave的定义:Google Wave是基于托管型XML文

萝卜的博客 796

Google Wave的失败

<br />Google Wave的失败<br /> <br /> <br />Google终于勇于承认了Google Wave的失败,承认Google Wave未获得用户的喜爱

佐佐吉牧的专栏 707

协同编辑:Google Wave架构分析

Google Wave的设计初衷是让人们互相发送信息,一起编辑文档,但用户对此感到困惑,很快就以失败告终。Google Wave持续了大约一年时间,于2010年8月被关闭。Wave“领先于时代”,而谷歌并没有有效地解释该服务的真正好处,但是谷歌高级副总裁乌尔斯·霍泽尔(Urs Holzle)说:“代码的核心部分以及驱动Wave创新的协议都已经开源,所以用户和合作伙伴可以继续我们的创新。很多东西是值得我们借鉴的。

周陆军的博客,分享it技术。 436
上一篇: Checkpoint的作用
下一篇: Docker安装与启动
.JWY.
博客等级 码龄11年 10粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值