容器

docker架构及工作流程

别等时光非礼了梦想. 提交于 2019-12-16 11:37:33
一、概念 docker是开源容器引擎,基于cgroup,namespace,unionFS等技术实现,对应用进行封装的虚拟化技术 什么是cgroup? 对系统资源限制,创建容器的过程其实就是在创建进程,对资源的分配和维护使用cgroup来管理,包括cpu,内存,io等? 什么是namespace? 创建容器时,对容器来说就是一个全新的系统,容器内的文件系统要和宿主机文件系统隔离,网络空间隔离,用户权限隔离,这些隔离操作都是有namespace 来管理完成的 什么是unionFS? 联合文件系统,简单理解就是多个目录结构合并成一个,而各个目录结构本身物理位置并没有变化。 二、架构 1.C/S架构 组件: docker cli: docker客户端,用来管理docker,向docker发送指令的工具 docker engine: 拉取推送镜像,对容器操作相关的api的最上层封装,直接面向client image repository: 注册中信,存储镜像的地方 Containerd: 是一个守护进程,负责管理shim,向docker engine提供接口,使用UnixSocket通信,协议是grpc shim: 负责管理单个容器,启动一个容器,就会启动一个shim进程, containerd管理所有容器 runC: 运行一个容器。是基于OCI标准的一个容器技术实现

IT兄弟连 HTML5教程 使用盒子模型设计页面布局

好久不见. 提交于 2019-12-16 11:03:00
布局所涉及的技术非常很多,足以另写单独的一本书了。在本节中主要介绍网站中最常用的布局方案,包括区块框居中、两列浮动、三列浮动及多列浮动的区块框。 1 居中设计 区块框居中的设计是在网页布局中常用的技术,例如将网页内的主体内容设置为一定的宽度,然后在页面内居中占据屏幕的一部分显示,而不是横跨整个屏幕宽度。这样设计的目的是因为现在的显示器尺寸越来越大,网页的可读性问题就变得越来越重要,因而需要创建比较短的、容易阅读的行。另外,不要让使用分辨率比较低的显示器用户,通过反复拖动浏览器的水平滚动条来查看页面中的每行文本。目前网页的布局几乎都是基于1024 × 768像素的屏幕分辨率来设计页面内容的宽度。例如,将页面显示内容区块框的宽度设置为966像素,代码如下所示: 在上面的代码中,设置页面最外层的容器div水平居中。在CSS中只需要定义容器div的宽度为966像素,然后将容器的左部和右部空白边设置为auto,就会在浏览器中居中。但在没有声明DOCTYPE时,IE浏览器中不支持使用空白边设置容器居中,而是通过在上一层容器中设置样式text-align:center让容器居中,然后再将容器的内容重新对准左边。如图1所示,IE和Firefox显示结果相同。 图1 居中设计 2 设置两列浮动的布局 使用float设置的浮动盒子区块会脱离文档流,也不会占据文档流中的任何空间

docker批量删除本地镜像和容器

吃可爱长大的小学妹 提交于 2019-12-16 10:40:43
长时间运行docker,每次只用docker kill去停止容器,但是从没删除过本地镜像,导致有上百个镜像在占用内存。 1、批量停止容器 docker container stop $(docker container ls -a -q)2、批量删除容器和镜像2.1、批量删除容器docker container rm $(docker container ls -a -q)2.2、批量删除镜像docker image rm $(docker image ls -a -q) 来源: https://www.cnblogs.com/fish-101/p/12047800.html

docker入门

淺唱寂寞╮ 提交于 2019-12-16 10:24:03
目标 1、Docker简介 2、Centos7安装Docker 3、Docker HelloWorld运行原理解析 4、阿里云镜像仓库配置 5、Docker基本命令 6、Docker镜像常用命令 7、Docker 容器常用命令 Docker简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。 Docker官网:https://www.docker.com/ Docker的应用场景 Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 Docker 的优点 1、简化程序: Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中

阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径

拜拜、爱过 提交于 2019-12-16 10:22:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 作者 | 丁宇(叔同) 阿里云智能容器平台负责人 、刘丹 2019 年阿里巴巴 双11 核心系统 100% 以云原生的方式上云,完美支撑了 54.4w 峰值流量以及 2684 亿的成交量。随着阿里巴巴经济体云原生技术的全面升级,容器性能、稳定性及在线率也得到了全面提升。本文作者将从云计算时代容器的发展路径为出发点,剖析阿里云的容器技术演进历程,借此探析整个行业的发展趋势。 以容器为代表的云原生技术,成为云时代释放云价值的最短路径 过去我们常以虚拟化作为云平台和与客户交互的界面,为企业带来灵活性的同时也带来一定的管理复杂度;容器的出现,在虚拟化的基础上向上封装了一层,逐步成为云平台和与客户交互的新界面之一,应用的构建、分发和交付得以在这个层面上实现标准化,大幅降低了企业 IT 实施和运维成本,提升了业务创新的效率。 从技术发展的维度看,开源让云计算变得越来越标准化,容器已经成为应用分发和交付的标准,可以将应用与底层运行环境解耦;Kubernetes 成为资源调度和编排的标准,屏蔽了底层架构的差异性,帮助应用平滑运行在不同的基础设施上;在此基础上建立的上层应用抽象如微服务和服务网格,逐步形成应用架构现代化演进的标准,开发者只需要关注自身的业务逻辑,无需关注底层实现,云原生正在通过方法论

【死磕 Spring】—— IoC 之开启 Bean 的加载

青春壹個敷衍的年華 提交于 2019-12-16 10:02:29
本文主要基于 Spring 5.0.6.RELEASE 摘要: 原创出处 http://cmsblogs.com/?p=2806 「小明哥」,谢谢! 作为「小明哥」的忠实读者,「老艿艿」略作修改,记录在理解过程中,参考的资料。 (此图参考《Spring 揭秘》) Spring IoC 容器所起的作用如上图所示,它会以某种方式加载 Configuration Metadata,将其解析注册到容器内部,然后回根据这些信息绑定整个系统的对象,最终组装成一个可用的基于轻量级容器的应用系统。 Spring 在实现上述功能中,将整个流程分为两个阶段:容器初始化阶段和加载bean 阶段。分别如下: 容器初始化阶段 : 首先,通过某种方式加载 Configuration Metadata (主要是依据 Resource、ResourceLoader 两个体系) 。 然后,容器会对加载的 Configuration MetaData 进行解析和分析,并将分析的信息组装成 BeanDefinition 。 最后,将 BeanDefinition 保存注册到相应的 BeanDefinitionRegistry 中。 至此,Spring IoC 的初始化工作完成。 加载 Bean 阶段 : 经过容器初始化阶段后,应用程序中定义的 bean 信息已经全部加载到系统中了,当我们显示或者隐式地调用

IT兄弟连 HTML5教程 使用盒子模型设计页面布局

﹥>﹥吖頭↗ 提交于 2019-12-16 09:28:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 布局所涉及的技术非常很多,足以另写单独的一本书了。在本节中主要介绍网站中最常用的布局方案,包括区块框居中、两列浮动、三列浮动及多列浮动的区块框。 1 居中设计 区块框居中的设计是在网页布局中常用的技术,例如将网页内的主体内容设置为一定的宽度,然后在页面内居中占据屏幕的一部分显示,而不是横跨整个屏幕宽度。这样设计的目的是因为现在的显示器尺寸越来越大,网页的可读性问题就变得越来越重要,因而需要创建比较短的、容易阅读的行。另外,不要让使用分辨率比较低的显示器用户,通过反复拖动浏览器的水平滚动条来查看页面中的每行文本。目前网页的布局几乎都是基于1024 × 768像素的屏幕分辨率来设计页面内容的宽度。例如,将页面显示内容区块框的宽度设置为966像素,代码如下所示: 在上面的代码中,设置页面最外层的容器div水平居中。在CSS中只需要定义容器div的宽度为966像素,然后将容器的左部和右部空白边设置为auto,就会在浏览器中居中。但在没有声明DOCTYPE时,IE浏览器中不支持使用空白边设置容器居中,而是通过在上一层容器中设置样式text-align:center让容器居中,然后再将容器的内容重新对准左边。如图1所示,IE和Firefox显示结果相同。 图1 居中设计 2 设置两列浮动的布局

Docker------常用命令(二)

流过昼夜 提交于 2019-12-16 09:24:24
docker search mysql (镜像) ###查找镜像 docker pull (镜像名称) ###拉取镜像 docker save > 自定义名称 镜像:latest ###导出镜像 docker load<镜像包 ###导入镜像 docker images ###查看本地镜像 PS:虽然我们查看到的镜像标签为latest(最新的),但并不表示他一定是最新的,而且镜像如果没有些标签,默认以latest为标签。 docker rmi 镜像:latest ###删除镜像 docker rm 容器id (或名称) ###删除容器 docker ps ###查看正在运行的容器 -a 查看所有 ###查看当前正在运行的容器对象,注意这里只显示 这个在运行中的容器信息,显示内容字段如下: CONTAINER ID : 容器唯一id IMAGE : 对应镜像名 COMMAND:启动方式 CREATED:创建时间 STATUS:当前状态 PORTS:占用端口 NAMES:容器名称(别名) docker stop 容器名称 ###停止容器运行 docker start 容器名称 ###启动容器 记得验证 docker rm 容器 –f ###强制删除容器 docker ps -a -q | xargs docker rm -f ###强制删除所有容器(生产环境严禁使用) docker

Docker入门之-存储(一):两类存储资源

最后都变了- 提交于 2019-12-16 09:11:46
Docker 为容器提供了两种存放数据的资源,一种是由 storage driver 管理的镜像层和容器层,另一种是Data Volume; 一、storage driver 在学习镜像的时候我们知道 , Docker 镜像的分层结构:容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的分层结构最大的特性是 Copy-on-Write: 新数据会直接存放在最上面的容器层; 修改现有数据会先从镜像层将数据复制到容器层,修改后的数据直接保存在容器层中,镜像层保持不变; 如果多个层中有命名相同的文件,用户只能看到最上面那层中的文件 分层结构使镜像和容器的创建、共享以及分发变得非常高效,而这些都要归功于 Docker storage driver; Docker 支持多种 storage driver,它们都能实现分层的架构,同时又有各自的特性。对于 Docker 用户来说,具体选择使用哪个 storage driver 是一个难题,主要是因为: 没有哪个 driver 能够适应所有的场景。 driver 本身在快速发展和迭代 不过 Docker 官方给出了一个简单的答案: 优先使用 Linux 发行版默认的 storage driver; Docker 安装时会根据当前系统的配置选择默认的 driver。默认 driver 具有最好的稳定性,因为默认

Kubernetes中pod和容器的关系

荒凉一梦 提交于 2019-12-16 08:05:52
pod可以想象成一个篮子,而容器则是篮子里的鸡蛋,他们之间的关系主要变现为以下几点: 一个pod里的容器能有多少资源也取决于这个篮子的大小。 label也是贴在篮子上的。 IP分配给篮子而不是容器,篮子里面的所有容器共享这个IP。(pod是IP等网络资源的分配的基本单位,这个IP及其对应的network namespace是由pod里的容器共享的;) 哪怕只有一个鸡蛋(容器),Kubernetes仍然会给它分配一个篮子。 pod里的容器共享network namespace,并通过volume机制共享一部分存储。 来源: CSDN 作者: 当代李白 链接: https://blog.csdn.net/weixin_39182105/article/details/103455471