容器

容器生态系统

怎甘沉沦 提交于 2020-03-10 10:31:17
一谈到容器,大家都会想到 Docker。 Docker 现在几乎是容器的代名词。确实,是 Docker 将容器技术发扬光大。同时,大家也需要知道围绕 Docker 还有一个生态系统。Docker 是这个生态系统的基石,但完善的生态系统才是保障 Docker 以及容器技术能够真正健康发展的决定因素。 大致来看,容器生态系统包含核心技术、平台技术和支持技术。 下面分别介绍。 容器核心技术 容器核心技术是指能够让 container 在 host 上运行起来的那些技术。 这些技术包括容器规范、容器 runtime、容器管理工具、容器定义工具、Registry 以及 容器 OS,下面分别介绍。 容器规范 容器不光是 Docker,还有其他容器,比如 CoreOS 的 rkt。为了保证容器生态的健康发展,保证不同容器之间能够兼容,包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI) 的组织,其目是制定开放的容器规范。 目前 OCI 发布了两个规范:runtime spec 和 image format spec。 有了这两个规范,不同组织和厂商开发的容器能够在不同的 runtime 上运行。这样就保证了容器的可移植性和互操作性。 容器 runtime runtime 是容器真正运行的地方。runtime

Docker生态系统

狂风中的少年 提交于 2020-03-10 10:28:07
鸟瞰容器生态系统 容器生态系统 : 容器核心技术,容器平台技术,容器技术支持 容器核心技术 :能够让Container(容器),在host上运行起来的那些技术 包括:(容器规范、容器runtime、容器管理工具、容器定义工具、Registries、容器OS) 容器规范: runtime spec(运行规范)和image format spec(镜像格式规范) 这两个规范可让不同组织和厂商开发的容器能够在不同的runtime上运行,保证了容器的可移植性和互操作性。 容器runtime: 容器真正运行的地方,runtime和操作系统的kernel紧密协作,为容器提供运行环境。 lxc (linux上的老牌容器runtime)、 runc (docker自己开发的容器runtime,现在磨人的runtime)、 rkt (CoreOS开发的runtime)是目前主流的三种容器runtime。 容器管理工具: 对内与runtime交互,对外为用户提供interface lxd : 是lxc对应的管理工具 docker engine : runc对应的管理工具,包含后台deamon和cli两个部分 rkt cli : rkt的管理工具 容器定义工具: 允许用户定义容器的内容和属性,使容器能够被保存、共享和创建 docker image : docker容器的模板

云原生周报:第 3 期

此生再无相见时 提交于 2020-03-10 10:03:50
本文首发于:微信公众号「云原生实验室」,公众号ID:cloud_native_yang。 这是云原生周报第 3 期,主要分享云原生社区最新开源项目和相关资讯。 如果你有什么优秀项目和资讯,欢迎向我投稿,投稿邮箱:yangchuansheng33@gmail.com。如果你想与大牛一起探讨云原生相关技术问题,可以添加我的微信后拉你进入云原生交流群,我的微信号是:yangchuansheng572887。 1. 开源项目推荐 diving : 基于 dive 分析 docker 镜像,界面化展示了镜像每层的变动(增加、修改、删除等)、用户层数据大小等信息。便捷获取镜像信息和每层镜像内容的文件树,可以方便地浏览镜像信息。对于需要优化镜像体积时非常方便。 Wave : Kubernetes 的配置文件有两种,一种是 ConfigMap,用来存储明文;另一种是 Secret,用来存储密文。这两种配置文件应用都比较广泛,但遗憾的是,目前它们在大多数场景下都不支持热更新,只有当 ConfigMap 挂载为 Volume 时,才能支持热更新,其他场景均不支持。Wave 的做法比较机智,它向 API server 订阅来自指定的 Deployment(通过 annotations 识别) 的事件,一旦某个 Deployment 被执行了任何操作(Create/Read/Update/Delete)

CSS中的flex布局

拜拜、爱过 提交于 2020-03-10 06:01:46
flex布局 转自阮一峰老师:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 基本概念 使用flex布局的元素称为“容器”(flex container),子元素称为”项目“(flex item) 语法 .box { display : flex ; } 特殊的,Webkit 内核的浏览器,必须加上 -webkit 前缀。 .box { display : -webkit-flex ; display : flex ; } 用一张图来展示一个使用flex布局的元素 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BD06GS8t-1583728198671)(C:\Users\杜广楠\Desktop\bg2015071004.png)] 容器中有两根轴,水平的主轴(main axis)和垂直的交叉轴(cross axis) 主轴开始的位置为 main start ,结束的位置为 main end 交叉轴开始的位置为cross start ,结束的位置为 cross end 项目中水平的称为main size,垂直的称为cross size

组合模式

≡放荡痞女 提交于 2020-03-09 22:17:30
模式动机 对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象,如子文件夹和文件)并调用执行。(递归调用) 由于容器对象和叶子对象在功能上的区别,在使用这些对象的客户端代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下客户端希望一致地处理它们,因为对于这些对象的区别对待将会使得程序非常复杂。 组合模式描述了如何将容器对象和叶子对象进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器对象和叶子对象,这就是组合模式的模式动机。 模式定义 组合模式(Composite Pattern):组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。 组合模式又可以称为“整体-部分”(Part-Whole)模式,属于对象的结构模式,它将对象组织到树结构中,可以用来描述整体与部分的关系。 模式结构 组合模式包含如下角色: • Component : 抽象构件 • Leaf : 叶子构件 • Composite : 容器构件 • Client : 客户类 模式分析 组合模式的关键是定义了一个抽象构件类,它既可以代表叶子,又可以代表容器,而客户端针对该抽象构件类进行编程,无须知道它到底表示的是叶子还是容器

Docker学习笔记二

别来无恙 提交于 2020-03-09 21:54:21
一、Docker镜像commit 操作补充 1.docker commit :提交容器副本使之成为一个新的镜像 2.docker commit -m="提交的描述信息"-a="作者"容器ID要创建的目标镜像名:【标签名】 3.案例演示 (1)从hub上下载tomcat镜像到本地并成功运行 docker run -it -p 8080:8080 tomcat -p:主机端口:docker容器端口 -P:随机分配端口 i:交互 t:终端 (2)故意删除上一步镜像生产tomcat容器的文档 (3)也即当前的tomcat运行实例是一个没有文档内容的容器,以它为模板commit 一个没有doc的tomcat新镜像atguigu/tomcat02 (4) 启动我们的新镜像并和原来的对比 docker run -d -p 6666:8080 tomcat 二、Docker 容器数据卷 2.能干嘛:(1) 容器的持久化 (2) 容器间继承+共享数据 3.数据卷 容器内添加 直接命令添加 命令: docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名 DockerFile添加 4.数据卷容器 来源: CSDN 作者: 灵犀小悟空 链接: https://blog.csdn.net/u012232504/article/details/104759735

Docker初步

烈酒焚心 提交于 2020-03-09 19:40:27
一、Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。 总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现: 二、Docker 安装部署 下载说明: https://docs.docker.com/install/linux/docker-ce/centos/ Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)

修改Docker默认镜像和容器的存储位置

痴心易碎 提交于 2020-03-09 19:40:08
目录 一、Why 二、How   2.1 修改docker.service文件    2.2 重启docker  回到顶部 一、Why   Docker默认的镜像和容器存储位置在/var/lib/docker中,如果仅仅是做测试,我们可能没有必要修改,但是当大量使用的时候,我们可能就要默认存储的位置了。 回到顶部 二、How   2.1 修改docker.service文件  1 2 3 4 5 6 cd / etc / systemd / system / multi - user.target.wants vim docker.service ExecStart = / usr / bin / dockerd - - graph = / data / docker - - storage - driver = overlay - - registry - mirror = https: / / jxus37ad.mirror.aliyuncs.com --graph=/data/docker:docker新的存储位置 --storage-driver=overlay : 当前docker所使用的存储驱动   注:存储驱动貌似不改也会变成overlay   2.2 重启docker  1 2 3 systemctl daemon - reload systemctl

【Docker】Docker概述

℡╲_俬逩灬. 提交于 2020-03-09 19:07:14
/*--> */ /*--> */ 【Docker】   Docker可以说是近几年非常热门的技术之一了。不管是别人敦促我还是从自己的想法来说,都觉得Docker这玩意儿肯定是要好好学习一下的,无奈没啥时间专门播出来给Docker,一直以来都是要用了就问人或者百度百度,用的也都是最简单的一些功能。   但是始终觉得,任何一种知识,不系统性地学习一下是掌握不好的。所以这次特地按照《第一本Docker书》这本新手向的书为框架,系统性地学习学习。 ■  参考好文   ①10图了解Docker简单原理:http://dockone.io/article/783 ■  什么是Docker   如果从技术实现细节(即使不是细节,是大体框架)而言,这个命题估计可以写上三天三夜,何况我也写不出来。但是好在作为一个使用者,(至少在目前阶段),我们只需要了解最基本的一些概念,对Docker这个东西有些感觉就好了。各种Docker介绍的书或者文档都把Docker写得特别高大上,然而在我一个小白的角度看来,docker(容器)就是个轻型虚拟机嘛。。   服务器的演变历程是从物理机编程虚拟机,再由虚拟机变成Docker这类容器技术。所以虚拟机到Docker可谓是一脉相承的。   毫无疑问Docker也肯定是要运行在物理主机上的。从架构来看,通过docker进行工作需要物理主机上有一个守护进程

【设计模式最终总结】组合模式:树形结构的处理

一世执手 提交于 2020-03-09 18:58:50
组合模式概述 组合模式为处理树形结构提供了一种较为完美的解决方案,它描述了如何将容器和叶子进行 递归组合 , 使得用户在使用时无须对它们进行区分 , 可以一致地对待容器(包含子节点的节点)和叶子(不包含子节点的节点) 。 常用到组合模式的场景:操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等。凡是遇到XXX,子XXX的这种结构,就可以考虑组合模式。 组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 组合模式结构图 在组合模式结构图中包含如下几个角色: ● Component(抽象构件):它可以是接口或抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所有子类共有行为的声明和实现。在抽象构件中定义了访问及管理它的子构件的方法,如增加子构件、删除子构件、获取子构件等。 ● Leaf(叶子构件):它在组合结构中表示叶子节点对象,叶子节点没有子节点,它实现了在抽象构件中定义的行为。对于那些访问及管理子构件的方法,可以通过异常等方式进行处理。 ● Composite(容器构件):它在组合结构中表示容器节点对象,容器节点包含子节点