容器

STL容器的适用情况

荒凉一梦 提交于 2020-04-03 22:05:39
转自 http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ /*--> */ /*--> */ 一.各种容器的特性 vector 典型的序列容器, C++ 标准严格要求次容器的实现内存必须是连续的,唯一可以和标准 C 兼容的 stl 容器,任意元素的读取、修改具有常数时间复杂度,在序列尾部进行插入、删除是常数时间复杂度,但在序列的头部插入、删除的时间复杂度是 O(n) ,可以 在任何位置插入新元素,有随机访问功能,插入删除操作需要考虑。 deque 序列容器,内存也是连续的,和 vector 相似,区别在于在序列的头部插入和删除操作也是常数时间复杂度 , 可以 在任何位置插入新元素,有随机访问功能。 list 序列容器,内存是不连续的,任意元素的访问、修改时间复杂度是 O(n) ,插入、删除操作是常数时间复杂度 , 可以 在任何位置插入新元素。 set 关联容器,元素不允许有重复,数据被组织成一棵红黑树,查找的速度非常快,时间复杂度是 O(logN) multiset 关联容器,和 set 一样,却别是允许有重复的元素,具备时间复杂度 O(logN) 查找功能。 map 关联容器,按照 { 键,值 } 方式组成集合,按照键组织成一棵红黑树,查找的时间复杂度 O(logN) ,其中键不允许重复。

Kubernetes优雅停止Pod

荒凉一梦 提交于 2020-04-03 17:45:44
原文: https://i4t.com/4424.html 首先我们先简单的分析一下"优雅的停止Pod" 优雅停止(Graceful shutdown)这个说法来自于操作系统,比如我们windows关机系统首先会退出软件然后一步步到达关机,而相对的就是硬终止(Hard shutdown),简单的理解就是直接拔电源 到了微服务中,网关会把流量分配给每个Pod节点上,比如我们上线更新Pod的时候 如果我们直接将Pod杀死,那这部分流量就无法得到正确处理,会影响部分用户,通常来说网关或者注册中心会将我们的服务保持一个心跳,过了心跳超时之后会自动摘除我们的服务,但是有一个问题就是超时时间可能是30秒也可能是60秒,虽然不会影响我们的系统,但是会产生用户轻微抖动。 如果我们在停止前执行一条命令,通知网关或者注册中心这台主机进行下线,那么注册中心就会标记这台主机已经下线,不进行流量转发,用户就不会有任何影响,这就是优雅停止,将滚动更新影响最小化 Pod Hook Pod Hook是由kubelet发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。我们可以同时为Pod中的所有容器都配置hook 在k8s中,理想的状态是pod优雅释放,并产生新的Pod。但是并不是每一个Pod都会这么顺利 Pod卡死,处理不了优雅退出的命令或者操作 优雅退出的逻辑有BUG

『中级篇』Kubenetes简介(60)

只谈情不闲聊 提交于 2020-04-03 17:10:42
原创文章,欢迎转载。转载请注明:转载自 IT人故事会 ,谢谢! 原文链接地址: 『中级篇』Kubenetes简介(60) Kubernetes单词起源于希腊语, 是「舵手」或者「领航员」的意思,是“管理者”和“控制论”的根源。 K8s是把用8代替8个字符“ubernete”而成的缩写。 Docker Swarm 和 k8s的前世今生 可以很明确的说 先有的k8s,后有的docker swarm。 容器编排工具Kubernetes诞生,并迅速得到Google和RedHat的支持。2014年7月,Docker收购Orchard Labs,由此Docker公司开始涉足容器编排领域,Orchard Labs这家2013年由两位牛逼的年轻人创建的公司,有一个当时非常著名的容器编排工具fig,而这个fig就是docker-compose的前身。Docker Compose虽然能编排多容器的APP,但是却不能实现在多个机器上进行容器的创建和管理。所以此时Docker公司和Kubernetes并未开始正面竞争和冲突。 10月17日,Docker公司在其丹麦哥本哈根举行的 DockerCon 大会上宣布,将扩大其Docker平台并拥抱支持Kubernetes。显然,在容器编排领域的战火已然分出结果,尘埃落定,Kubernetes得到了包括Google、Huawei、Microsoft、IBM、AWS

docker 删除所有退出的容器

只谈情不闲聊 提交于 2020-04-03 05:01:49
方法一: # 显示所有的容器,过滤出 Exited 状态的容器,取出这些容器的 ID , sudo docker ps -a|grep Exited|awk '{print $1}' # 查询所有的容器,过滤出 Exited 状态的容器,列出容器 ID ,删除这些容器 sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'` 方法二: # 删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了) sudo docker rm $(sudo docker ps -a -q) 方法三: # 根据容器的状态,删除 Exited 状态的容器 sudo docker rm $(sudo docker ps -qf status=exited) 方法四: #Docker 1.13 版本以后,可以使用 docker containers prune 命令,删除孤立的容器。 sudo docker container prune # 删除所有镜像 sudo docker rmi $(docker images -q) 附图: 02- 删除所有的容器,所有未运行的容器都被删除,正在运行的无法删除,达到删除不用容器的目的。 03- 低于 1.13 版本的 Docker ,可以根据容器的状态来进行删除 04- 查询所有的容器

Gartner 容器报告:阿里云与 AWS 并列第一,领先微软、谷歌

…衆ロ難τιáo~ 提交于 2020-04-03 03:46:54
近日,国际知名调研机构 Gartner 发布 2020 年容器公有云竞争格局报告,阿里云再度成为国内唯一入选厂商。Gartner 报告显示,阿里云容器服务在中国市场表现强劲,产品形态丰富,在如 Serverless 容器、服务网格、安全沙箱容器、混合云和边缘等领域,具备良好的技术发展策略。 2020 年 3 月,Gartner 第二次公开《竞争格局:公共云容器服务》年度调研报告,报告针对 Serverless Kubernetes、服务网格、容器镜像等十项功能维度进行对比,阿里云和 AWS 覆盖九项产品能力,产品丰富度领先 Google、微软、IBM 和 Oracle 四家厂商。 阿里云连续两年入选 Gartner 容器报告,一方面是因为阿里云拥有全球第三的市场份额,另一方面是因为其已经拥有近十年的容器技术储备。 目前,阿里云容器服务(ACK)已在中国及海外 19 个公有云可用区开服,同时也支持客户在自有机房和边缘端的部署使用 Kubernetes。同时,阿里云还提供了丰富的差异化产品:兼容 Istio 的托管版服务网格、基于弹性容器实例的无服务器 Kubernetes(ASK)、提供镜像扫描的独享版容器镜像服务 (ACR)、基于轻量虚拟机技术的安全沙箱容器运行时和托管服务网格(ASM)等等。在此前的 Forrester 公共云容器服务评测中,阿里云作为 Strong

Linux(Centos7)安装、使用 Docker

夙愿已清 提交于 2020-04-02 21:03:27
一、Linux(CentOS7) 上安装 docker 1、docker 是什么?   docker 是一种 虚拟化容器技术,一个开源的应用容器引擎。   基于镜像,可以秒级启动各种容器(运行一次镜像就生成一个容器,类似于 Java 中 类与对象)。   各容器间相互隔离,且每个容器均是一个完整的运行环境。   可以很方便的让开发者打包应用以及相关依赖包到一个可移植的轻量级的容器中,并发布到 Linux 上。 参考地址:   https://www.cnblogs.com/l-y-h/p/11337051.html   https://docs.docker.com/   https://www.runoob.com/docker/docker-tutorial.html 2、安装 (1)官方文档地址:   https://docs.docker.com/ (2)找到官方文档位置,根据文档一步步执行即可。   Step1:进入官网,选择 Get Docker,并选择 Docker for Linux。 Step2:选择 相应的 Linux 系统,此处我选择 CentOS. (3)安装流程   Step1:卸载旧版本。     查看当前系统是否有 docker 旧版本存在,存在则删除旧版本。 【方式一:(先查找是否存在,再删除)】 rpm -qa | grep docker 【方式二

tomcat配置文件之Server.xml

梦想的初衷 提交于 2020-04-02 17:36:19
Server.xml 包含的元素有 <Server> 、 <Service> 、 <Connector> 、 <Engine> 、 <Host> 、 <Context> 、 <logger> 、 <Value> 、 <Realm> 等,它们可分为四大类: 1 、顶层类元素:有 <Server> 和 <Service> 。它位于整个配置文件的顶层。 2 、连接器类元素:有 <Connector> 。客户和容器类元素的通讯接口。 3 、容器类元素:有 <Engine> 、 <Host> 和 <Context> 。处理客户请求并且生成响应结果。 4 、嵌套类元素:有 <logger> 、 <Value> 和 <Realm> 。可以加入到容器中的元素 配置文件结构为: <server> <service> <connector/> <connector/> <engine> <host> <context/> </host> <host> <context/> <context/> </host> </engine> </service> <server> <Server> 元素 <Server> 是 Tomcat 实例的顶层元素,由 org.apache.catalina.Server 接口定义,它可以包含一个或多个 <Service> 元素,并且不能做为任何元素的子元素。一个

Docker常见使用命令

心不动则不痛 提交于 2020-04-01 10:05:18
1、安装docker yum install docker -y 运行docker systemctl start docker 2、docker pull ubuntu:16.04 docker 拉取镜像 为了使docker pull 速度更快,配置镜像加速器 推荐安装1.11.2以上版本的Docker客户端 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [" https://xxx.com "] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 3、运行容器 docker run -t -i ubuntu:16.04 /bin/bash -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; -i: 以交互模式运行容器,通常与 -t 同时使用; -d: 后台运行容器,并返回容器ID; 4、删除容器 docker rm [ID] -f :通过 SIGKILL 信号强制删除一个运行中的容器。 5、列出容器 docker ps -a :显示所有的容器,包括未运行的。 -q :静默模式,只显示容器编号。 --format :指定返回值的模板文件。 -f

Linux高级运维 第八章 部署docker容器虚拟化平台

耗尽温柔 提交于 2020-04-01 07:46:55
8.1 Docker 概述 实验环境: CENTOS7.4-63 64位 Dcoker 概述 Docker 是一个开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。 扩展:沙盒 沙盒也叫沙箱,英文sandbox。在计算机领域指一种虚拟技术,且多用于计算机安全技术。安全软件可以先让它在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害。 Docker 是dotCloud公司开源的一个基于LXC的高级容器引擎,源代码托管在Github上, 基于go语言并遵从Apache2.0协议开源。 Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的container中,然后发布到任何流行的Linux机器上。 互动: 现在接触的软件是怎么发布的? windows下的 2016-0ffice.exe ,不能在xp运行 ;mk.rpm 在redhat系列Linux上运行,但是不能在其他linux版本上运行。 例: /mnt/Packages/vsftpd-3.0.2-10.el7.x86

jenkins学习4-进docker容器安装python3环境

廉价感情. 提交于 2020-04-01 01:42:03
前言 使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。 遇到问题 构建的时候输入pip3,提示:pip3: not found 构建job后控制台输出内容 Started by user admin Running as SYSTEM Building in workspace /var/jenkins_home/workspace/yoyoketang [yoyoketang] $ /bin/sh -xe /tmp/jenkins2225854290036644814.sh + pwd /var/jenkins_home/workspace/yoyoketang + pip3 /tmp/jenkins2225854290036644814.sh: 3: /tmp/jenkins2225854290036644814.sh: pip3: not found Build step 'Execute shell' marked build as failure Finished: FAILURE pip3: not found,说明jenkins容器内部并没有python3的环境 进jenkins容器 进docker容器, 加上-u root