容器

Docker基本部署及基本控制命令

谁说胖子不能爱 提交于 2020-01-01 02:32:02
一、Docker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,两者之间完全独立。 二、与虚拟机的比较 三、Docker核心概念 镜像(Image): 类似虚拟机镜像 容器(Container): 类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。 仓库(Repository): 每个仓库存放某一类镜像。 容器、仓库、镜像运行关系图: 四、Docker基本部署 1、安装环境包 yum install -y yum-utils device-mapper-persistent-data lvm2 2、使用阿里的docker仓库 [root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //安装docker-ce [root@localhost ~]# yum install -y docker-ce systemctl start docker

Docker基本控制命令(资源控制、数据卷及数据卷容器、镜像创建、端口映射、私有仓库)

折月煮酒 提交于 2020-01-01 02:31:55
一、资源控制 1、CPU使用率控制 限制该镜像本次建立的容器最大只能占总资源的10% docker run --cpu-quota 10000 centos 2、按比例分配 创建两个容器为c1和c2,若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为33.3%和66. 7% docker run -itd --name c1 --cpu-shares 512 centos(镜像名) docker run -itd --name c2 --cpu-shares 1024 centos(镜像名) 3、限制容器使用指定的CPU 为该镜像指定四个CPU的使用 docker run --name c3 --cpuset-cpus 0001,0010,0100,1000 centos 4、内存使用限制 限制建立的容器最多只能使用1gb内存 docker run --name c4 -m 1gb centos 5、限制容器读取磁盘\设备的数据量 限制该容器仅能读取sda磁盘的100mb的数据 docker run -d --device-read-bps /dev/sda:100mb centos 6、限制容器写入磁盘\设备的数据量 限制该容器仅能写入sda磁盘的100mb的数据 docker run -d --device-write-bps /dev/sda:100mb

Linux相关知识练习02

拥有回忆 提交于 2020-01-01 01:21:08
Linux相关知识练习 每日几题 1.命令 iostat 的各项指标的含义,哪些项体现iops ,哪些体现吞吐量,await 和svctm两项数据差别大(当await 远大于svctm)说明什么问题?当%util接近或大于100%,说明什么? 假如我的机器有很多磁盘分区,要求只监控其中某一个比如sda,每秒采集一次,并打印时间,共采集一分钟。 iostat用于输出 CPU 和磁盘 I / O 相关的统计信息。 用法:iostat [ 选项 ] [ < 时间间隔 > [ < 次数 > ] ] 常用选项说明: - c:只显示系统 CPU 统计信息,即单独输出avg - cpu结果,不包括device结果 - d:单独输出Device结果,不包括cpu结果 - k / - m:输出结果以kB / mB为单位,而不是以扇区数为单位 - x : 输出更详细的io设备统计信息 interval / count:每次输出间隔时间,count表示输出次数,不带count表示循环输出 iostat,结果为从系统开机到当前执行时刻的统计信息 avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于等待io请求的完成时间。 iostat -c #只显示cpu统计信息,即单独输出avg-cpu结果,不包括device结果 iostat

docker命令总结

删除回忆录丶 提交于 2019-12-31 23:45:12
个人简单总结: 参数 用途 语法 示例 search 在docker hub中搜索镜像 docker search 镜像名称 docker search nginx pull 在docker hub中下载镜像到本地 docker pull 镜像名:tag docker pull nginx:latest push 推送指定镜像到docker镜像服务器 docker push 本地镜像:tag docker push nginx:V1 images 查看本地所有docker镜像 docker images docker imaegs run 创建容器,并运行 docker run 参数 镜像名:tag docker -d run nginx:latest history 查看镜像形成过程 docker history 本地镜像名:tag docker history nginx:V1 start 启动容器 docker start 容器ID或容器名称 docker strat 3d265463456 stop 停止容器 docker stop 容器ID或容器名称 docker stop nginx build 通过dockerfile制作镜像 docker build 参数 镜像名:tag dockerfile目录 docker build -t nginx:V1 /opt/

黑马程序员C++教程从0到1入门--STL标准库

丶灬走出姿态 提交于 2019-12-31 10:59:13
黑马程序员C++教程从0到1入门--STL标准库 STL 组件 STL基本结构 STL 组件 STL 是 C++ 标准程序库的核心。STL 内的所有组件都由模板构成,其元素可以是任意型别。程序员通过选用恰当的群集类别调用其成员函数和算法中的数据即可。 STL 组件主要包括容器,迭代器、算法和仿函数。 容器 容器即用来存储并管理某类对象的集合。例如鱼缸是用来盛放金鱼的容器。 在 STL 中,容器又分为序列式容器和关联式容器两大类,而迭代器的功能主要是遍历容器内全部或部分元素的对象。迭代器可划分为 5 种类属,这 5 种类属归属两种类型:双向迭代器和随机存取迭代器。 每一种容器都有其优点和缺点。为满足程序的各种需求,STL 准备了多种容器类型,容器可以是 arrays 或是 linked lists,或者每个元素有特别的键值。 迭代器 迭代器用于在一个对象群集的元素上进行遍历动作。对象群集可能是容器,也可能是容器的一部分。 迭代器的主要用途是为容器提供一组很小的公共接口。利用这个接口,某项操作可以行进至群集内的下一个元素。 每种容器都提供了各自的迭代器。迭代器了解该容器的内部结构,所以能够正确行进。迭代器的接口和一般指针类似。 算法 算法用来处理群集内的元素,可以出于不同目的搜寻、排序、修改、使用那些元素。所有容器的迭代器都提供一致的接口,通过迭代器的协助,算法程序可以用于任意容器。

Docker面试题

放肆的年华 提交于 2019-12-30 23:21:40
一、什么是虚拟化? 虚拟化允许在同一硬件上运行两个完全不同的操作系统,每个客户操作系统都经历了引导,加载内核等所有过程。可以拥有非常严格的安全性! 可以基于虚拟化方法如何模仿客户操作系统的硬件并模拟客户操作环境来对虚拟化方法进行分类。 主要有三种类型的虚拟化: 仿真; 半虚拟化; 基于容器的虚拟化; 二、docker与虚拟机有何不同? docker不是虚拟化方法,它依赖与实际实现基于容器的虚拟化或操作系统及虚拟化的其他工具。为此,docker最初使用LXC驱动程序,然后移动到libcontainer现在重命名为runc。Docker主要专注于在应用程序容器内自动部署应用程序。应用程序容器旨在打包和运行单个服务,而系统容器则设计为运行多个进程,如虚拟机。因此,Docker被视为容器化系统上的容器管理或应用程序部署工具。 主要表现在以下几个方面: 与虚拟机不同,容器不需要引导操作系统内核,因此可以在不到一秒的时间内创建容器。此功能使基于容器的虚拟化比其他虚拟化方法更加独特和可取; 由于基于容器的虚拟化为主机增加了很少或没有开销,因此基于容器的虚拟化具有接近本机的性能; 对于基于容器的虚拟化,与其他虚拟化不同,不需要其他软件; 主机上的所有容器共享主机的调度程序,从而节省了额外资源的需求; 与虚拟机映像相比,容器状态(Docker或LXC映像)的大小很小,因此容器映像很容易分发;

python基础之常用的高阶函数

橙三吉。 提交于 2019-12-30 19:01:57
前言 高阶函数指的是能接收函数作为参数的函数或类;python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率. map() map函数可以把一个迭代对象转换成另一个可迭代对象,不过在python3中,结果都是一个map对象,它是一个生成器,可以通过next函数获取它的元素;使用map函数的代码效率比for循环和列表生成式都要高。 参数: 一个函数func,可以是任何函数; 一个或多个可迭代对象,可以是元组、集合、列表等;如果函数有多个参数就传入多个可迭代对象; # 单个参数 p = map(int,{2,3,4,5}) # 多个参数 def add(x,y,z): return x+y+z p1 = map(add,[1,2,3],(4,5,6),{7,8,9}) # 注意如果是集合,顺序是不固定的 # 由于是一个map对象,可以转换为list对象 li = list(p1) reduce() reduce函数在python3中被放置到functool模块中了,要使用需要引入; 参数:一个函数f,一个可迭代对象,一个可选的初始值; 功能:通过对函数f的反复调用,可以得到最终的积累结果; def test5(listx): from functools import reduce res = reduce(add1,listx) print(res) def add1(x

Docker容器互联

雨燕双飞 提交于 2019-12-30 19:01:45
转载于:https://www.runoob.com/docker/docker-container-connection.html 这个过程感觉跟openstack配置路由太像了。 来源: CSDN 作者: Code_st 链接: https://blog.csdn.net/qq_42776455/article/details/103769478

spring启动(3)--AbstractRefreshableApplicationContext

拟墨画扇 提交于 2019-12-30 11:53:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在spring容器中,BeanDefinition是最为重要的元素。那么从我们配置的xml到最终成为被容器管理的bean最起码要经过以下几个过程 第一、资源定位。spring能够定位到我们配置的文件。通常,我们把配置信息放置到xml文件中去,spring要根据自己的规则找到配置文件。 第一、文件解析,将我们配置到xml或者其他文件中的类元素转化成为可以被spring容器认识的元素-beanDefinition 第二、beanDefinition的载入。有了beanDefinition还要将其转化成Spring内幕标示的数据结构。这个结构IOC容器通过HashMap去维护。 FileSystemXmlApplicationContext是bean载入的成熟上下文。他的整个过程包括了bean从配置文件元素,到能够被spring容器管理的所有过程。 FileSystemXmlApplicationContext public FileSystemXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent) throws BeansException { super(parent);

k8s上的基础概念和术语

Deadly 提交于 2019-12-30 10:30:05
kubernetes基本概念和术语 kubeernetes中的大部分概念如Node,Pod,Replication Controller ,Serverce等都可以看作一种“资源对象”,几乎所有的资源对象都可以通过 kubernetes提供的kubectl工具(或者API编程调用)执行增删改查等操作并将其保存在etcd中持久化存储。从这个角度来看,kubernetes其实 是一个高度自动化的资源控制系统,它通过跟踪对比etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制 和自动纠错的高级功能。 Master Master:集群控制节点。每个Kubernetes集群里需要有一个Master节点来负责整个集群的管理和控制。基本上Kubernetes所有的控制命令都是 发给它,它来负责具体的执行过程,我们后面所有执行的命令都是在Master节点上运行的。Master节点通常会占据一个独立的X86服务器(或者 一个虚拟机),一个主要的原因是它太重要了,它是整个集群的“首脑”,如果它宕机或者不可用,那么我们所有的控制命令都失效。 在Master节点上运行着一下一组关键进程: Kuberneres API Server(kube-apiserver),提供了HTTP Rest 接口的关键服务进程,是Kubernetes里所有资源的增删改查等操作的唯一入口,也是