容器技术

kubernetes系列教程(五)初识核心概念pod

不羁岁月 提交于 2020-01-18 18:50:13
写在前面 前面的系列文章已介绍kubernetes架构,安装,升级和快速入门,读者通过文章的实操已对kubernetes已有初步的认识和理解,从本章开始逐步介绍kubernetes中的基础概念概念和核心概念,基础概念包括:namespace,labels,annotations,pods,volumes等;核心概念包含kubernetes中各种controller,包含以下几种: 应用副本控制器有:Deployments,ReplicaSets,DaemonSets,StatefulSets; 批处理任务控制器Jobs和CronJob 存储控制器PersistentVoloume,PersistentVolumeClaim,StorageClass; 服务负载均衡Service,Ingress,NetworkPolicy和DNS名称解析; 配置和密钥ConfigMaps和Secrets 本文从最基础的概念pod开始讲解,后续逐步介绍应用部署,存储,负载均衡等相关的控制器,kubernetes内部由多个不同的控制器组成,每个控制器完成不同的功能。 1. 深入学习pod 1.1 Container介绍 容器是一种便携式,轻量级别的容器虚拟化技术,使用linux cggroup技术实现各种资源的隔离,如cpu,memory,pid,mount,IPC等,相比于虚拟化技术如KVM

React16源码解读:揭秘ReactDOM.render

筅森魡賤 提交于 2020-01-18 17:22:45
引言 在 上一篇文章 中我们通过 create-react-app 脚手架快速搭建了一个简单的示例,并基于该示例讲解了在类组件中 React.Component 和 React.PureComponent 背后的实现原理。同时我们也了解到,通过使用Babel预置工具包 @babel/preset-react 可以将类组件中 render 方法的返回值和函数定义组件中的返回值转换成使用 React.createElement 方法包装而成的多层嵌套结构,并基于源码逐行分析了 React.createElement 方法背后的实现过程和 ReactElement 构造函数的成员结构,最后根据分析结果总结出了几道面试中可能会碰到或者自己以前遇到过的面试考点。上篇文章中的内容相对而言还是比较简单基础,主要是为本文以及后续的任务调度相关内容打下基础,帮助我们更好地理解源码的用意。本文就结合上篇文章的基础内容,从组件渲染的入口点 ReactDOM.render 方法开始,一步一步深入源码,揭秘 ReactDOM.render 方法背后的实现原理,如有错误,还请指出。 源码中有很多判断类似__DEV__变量的控制语句,用于区分开发环境和生产环境,笔者在阅读源码的过程中不太关心这些内容,就直接略过了,有兴趣的小伙伴儿可以自己研究研究。 render VS hydrate

docker代码发布

♀尐吖头ヾ 提交于 2020-01-18 08:14:52
Docker简介: Docker 相比于 虚拟机具有空间占用小,启动速度快(按秒级), 集成度高 ,可以有效避免版本不兼容问题。 什么是镜像 :镜像是一堆只读层的统一,除了最底层没有指向外,每一层都指向它的父层。统一文件系统( Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在。在用户的角度看来,只存在一个文件系统。镜像每一层都是不可写的,都是只读层。 什么是容器 :容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。要点:容器 = 镜像 + 读写层,并且容器的定义并没有提及是否要运行容器。 建议实践之后回来理解 docker容器与镜像的区别 常用操作 docker images :查看所有镜像 docker rmi image-id:删除镜像 docker ps -a:查看所有容器 docker rm container-id:删除容器 docker attach container-id:进入容器 (现在基本使用exec,退出不关闭容器) docker logs container-id 查看容器内部输出 docker tag imageid:tag name:tag 修改镜像名 docker commit

Docker

旧城冷巷雨未停 提交于 2020-01-18 04:40:14
文章目录 Docker 什么是虚拟化 容器技术 Docker特点 Docker组件 Docker客户端和服务器 Docker镜像 Registry(注册中心) Docker容器 Docker 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用 虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。 容器技术 在计算机的世界中,容器拥有一段漫长且传奇的历史。容器与管理程序虚拟化(hypervisor virtualization,HV)有所不同,管理程序虚拟化通过中间层将一台或者多台独立的机器虚拟运行与物理硬件之上,而容器则是直接运行在操作系统内核之上的用户空间。因此,容器虚拟化也被称为“操作系统级虚拟化”

Docker学习__基本概念

徘徊边缘 提交于 2020-01-18 00:26:26
其他知识点,会在后续学习过程中在做完善。 docker分为两个版本: docker-ee 企业版 docker-ce 社区版 docker架构(docker architecture)分为3个部分: docker的客户端(client) docker的服务端(server) docker的守护进程(daemon) docker的容器(container) docker的镜像(image) docker的镜像仓库(registry)    不论是Client端还是Server端,都是由docker一个程序提供。   其中的一个子程序叫做daemon,表示为守护进程。运行daemon此主机就变成了守护进程服务器。 镜像(Image):   对Linux而言: 1.内核启动 2.挂载root文件系统,为其提供用户空间支持。   注:Docker镜像(Image),相当于是一个root文件系统。 Docker 镜像是一个 特殊的文件系统: 1.提供了:容器运行时所需的程序、库、资 源、配置等文件, 2.包含了:一些为运行时准备的一些配置参数(如匿名卷、环境 变量、用户等)。 注意:Docker镜像不包含任何动态数据,其内容在构建之后也不会被改变,内容 是只读的 。 需要了解的知识点 1.镜像是怎么构建的?   镜像构建是一层层构建的。前一层是后一层的基础,每一层构建完就不会在发生发改变

linux运维、架构之路-Docker架构原理

若如初见. 提交于 2020-01-17 17:29:55
一、Docker架构原理介绍 Docker使用了C/S架构,客户端与守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过UNIX套接字或网络接口进行通信。 二、Docker介绍 Docker的英文翻译是”搬运工“的意思,他搬运的东西就是我们常说的集装箱Container,Container里面装的是任意类型的App,我们的开发人员可以通过Docker 将App变成一种标准化的、可移植的、自管理的组件,我们可以在任何主流的操作系统中开发、调试和运行。Docker和虚拟机比较类似,只是更加轻量级,更加方便使用。 1、Docker和虚拟机区别: 虚拟化技术依赖的是物理CPU和内存,是硬件级别的;而Docker是构建在操作系统层面的,利用操作系统的容器化技术,所以Docker同样的可以运行在虚拟机上面。 虚拟机中的系统就是我们常说的操作系统镜像,比较复杂;而Docker比较轻量级,我们可以使用Docker部署一个独立的Redis,就像类似于在虚拟机当中安装一个Redis应用,但是我们用Docker部署的应用是完全隔离的。 在传统的虚拟化技术是通过快照来保存的;而Docker引用了类似于源码的管理机制

docker入门学习理解

拈花ヽ惹草 提交于 2020-01-16 21:30:30
容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行。 通过使用容器,我们可以轻松打包应用程序的代码、配置和依赖关系,将其变成容易使用的构建块,从而实现环境一致性、运营效率、开发人员生产力和版本控制等诸多目标。容器可以帮助保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。容器还赋予我们对资源更多的精细化控制能力,让我们的基础设施效率更高。通过下面这幅图我们可以很直观的反映出这两者的区别所在。 Docker****的优势 Docker****相比于传统虚拟化方式具有更多的优势: · docker 启动快速属于秒级别。虚拟机通常需要几分钟去启动 · docker 需要的资源更少,docker在操作系统级别进行虚拟化, docker 容器和内核交互,几乎没有性能损耗,性能优于通过 Hypervisor 层与内核层的虚拟化 · docker 更轻量, docker 的架构可以共用一个内核与共享应用程序库,所占内存极小。同样的硬件环境, Docker 运行的镜像数远多于虚拟机数量,对系统的利用率非常高 · 与虚拟机相比, docker 隔离性更弱, docker 属于进程之间的隔离,虚拟机可实现系统级别隔离 · 安全性: docker 的安全性也更弱。

看完这个,你就知道Docker是什么了

倾然丶 夕夏残阳落幕 提交于 2020-01-16 01:56:11
在开始谈docker容器之前,先需要清楚什么是虚拟化,什么是容器 虚拟化 如果要⽤简单的语句来阐述虚拟化技术的话,那么可以这么解释: 虚拟化技术是⼀种将计算机物理资源进⾏抽象、转换为虚拟的计算机资源提供给程序使⽤的技术。 这⾥所指的计算机资源,就包括了 CPU 提供的运算控制资源,硬盘提供的数据存储资源,⽹卡提供的⽹络传输资源等。 为跨平台而生 计算机发展早期,各类计算机平台,计算资源所提供的接口都不一样,调用十分混乱,没有像今天一样有相对统一的标准。由于为兼容不同的平台写各种各样的兼容代码,于是虚拟技术运应而生。虚拟化技术通过本身适配不同平台的硬件,抽象成统一的接口,从而实现程序的跨平台。 将虚拟化技术用于资源管理 在虚拟化技术发展的过程中,人们又发现了虚拟化技术的另外一个用途:资源管理。 因为虚拟化技术本来就是对计算机物理资源的抽象转换成虚拟的计算机资源,这样就很容易在这里对计算机资源进行修改,比如可以告诉程序这台计算机只有4G内存,而无论计算机是有16G还是32G,程序都会按照虚拟机告诉它的4G内存来进行使用。 通过虚拟化技术管理计算机资源的方式,不当能让我们对计算机资源的控制更加灵活,而且还能极大的提交计算机资源的使用率。 看到这可能会有些迷惑,虚拟化技术本身就要耗费部分的计算机资源,怎么还能产生1+1>2的效果? 其实这里指的是计算机的使用率,而非计算机的占用率

运行第一个Docker容器-Docker for Web Developers(1)

强颜欢笑 提交于 2020-01-16 01:01:34
1. Docker介绍 Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了; Docker使用了Go语言开发,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术; Docker vs VM如下图所示: 2. Docker的安装 Docker现在区分Community Edition,简称:CE版本;Enterprise Edition,简称:EE。两个版本,一个免费,一个付费。所以我们安装的是的CE版本。安装步骤在官方完成有详细的的说明,这里略过。 我在DO上的服务器操作系统版本是:Ubuntu 14.04 LTS。安装官方文档,能顺利安装成功。 Docker CE for Ubuntu 3. Docker架构 4. 运行第一个容器 运行容器可以通过两种方式: 4.1 通过Dockerfile构建一个镜像,上传到Docker Hub上,然后在host主机上pull这个镜像,运行一个容器 4.2 通过docker pull从Docker Registry上获取一个镜像,然后通过这个镜像运行容易。 本文主要说明第一种情况,流程如下图所示: 步骤1 本地机器上新建一个文件夹,创建一个Dockefile文件

Docker学习笔记

為{幸葍}努か 提交于 2020-01-15 19:01:42
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 官网:https://www.docker.com/ 相关资料: 1、Docker入门教程 http://dockone.io/article/111 2、Docker_百度百科 http://baike.baidu.com/view/11854949.htm 3、史上最全Docker资料集粹 http://special.csdncms.csdn.net/BeDocker/ 4、Docker - 话题精华 - 知乎 http://www.zhihu.com/topic/19950993/top-answers 5、docker 简明教程 | 简果网 http://www.simapple.com/docker-tutorial 6、如何使用Dockerfile构建镜像 http://blog.csdn.net/qinyushuang/article/details/43342553 7、Dockerfile reference - Docker https://docs.docker.com/engine/reference/builder/ Docker与虚拟机比较