容器

kubernetes(k8s)容器编排工具基础概念

╄→гoц情女王★ 提交于 2020-01-14 00:45:36
kubernetes(k8s)容器编排工具基础概念 Kubernetes (K8s):   中文社区: https://www.kubernetes.org.cn/replication-controller-kubernetes   官网: https://kubernetes.io/   是一个开源系统,用于容器化应用的自动部署、扩缩和管理。Kubernetes 将构成应用的容器按逻辑单位进行分组以便于管理和发现。   Kubernetes 基于 谷歌公司在运行生产负载上的 15 年经验 打造,并融合了来自社区的最佳建议与实践。我们先来看看他的架构图:   要使用 Kubernetes,你需要用 Kubernetes API 对象 来描述集群的 预期状态(desired state) :包括你需要运行的应用或者负载,它们使用的镜像、副本数,以及所需网络和磁盘资源等等。你可以使用命令行工具 kubectl 来调用 Kubernetes API 创建对象,通过所创建的这些对象来配置预期状态。你也可以直接调用 Kubernetes API 和集群进行交互,设置或者修改预期状态。   一旦你设置了你所需的目标状态,Kubernetes 控制面(control plane) 会通过 Pod 生命周期事件生成器( PLEG ),促成集群的当前状态符合其预期状态。为此,Kubernetes

Tungsten Fabric如何编排

这一生的挚爱 提交于 2020-01-14 00:31:07
OpenStack和TF集成 OpenStack是虚拟机和容器的领先的开源编排系统。Tungsten Fabric提供了Neutron网络服务的实现,并提供了许多附加功能。 在OpenStack中,用户组被分配到“项目”,其中诸如VM和网络之类的资源是私有的,并且其他项目中的用户无法看到(除非特别启用)。 在vRouters中使用VRF且每个网络都有路由表,可以直接在网络层中实施项目隔离,因为只有到允许目的地的路由才会分发到计算节点上的vRouters中的VRF,并且不会发生泛洪vRouter执行的代理服务。 网络服务是Neutron,计算代理是Nova(OpenStack计算服务)。 当两者都部署在OpenStack环境中时,Tungsten Fabric可以在VM和Docker容器之间提供无缝网络。 在下图中,可以看到OpenStack的Tungsten Fabric插件提供了从Neutron网络API到Tungsten Fabric API调用的映射,后者在Tungsten Fabric控制器中执行。 Tungsten Fabric支持网络和子网的策略,以及OpenStack网络策略和安全组。可以在OpenStack或Tungsten Fabric中创建这些实体,并且在两个系统之间同步任何更改。 此外,Tungsten Fabric还支持OpenStack LBaaS v2

Docker常用命令

我的未来我决定 提交于 2020-01-14 00:19:48
Docker 常用命令 搜索镜像 docker search java 下载镜像 docker pull java 查看镜像 docker images 删除镜像 docker rmi hello-world 删除所有镜像 docker rmi -f $(docker images) 基于容器提交镜像 docker commit -m "centos add jdk8" -a "M.Zeng" 8ea45e784e92 zeng/java:8 导出镜像 docker save -o xxx.tar java:8 导入镜像 docker load --input xxx.tar Docker 容器常用命令 新建启动容器 docker run java -d 表示后台运行 -P 随机端口 -p 指定端口 ip : hostPort : containerPort ip :: containerPort hostPort : containerPort containerPort --name 指定容器运行名称 例如nginx docker run -d -p 80:80 --name=nginx-container nginx 查看容器日志 docker logs CONTAINER ID 查看容器 docker ps -a 所有端口 停止容器 docker stop

2_阮一峰-Docker入门教程

僤鯓⒐⒋嵵緔 提交于 2020-01-13 22:28:50
参考链接 http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html 一、Linux容器 二、Docker 是什么? 三、Docker 的安装 四、image 镜像 五、实例:hello world 六、容器 Container 七、Dockerfile 文件 八、实例:制作自己的 Docker 容器 九、其他有用的命令 一、Linux容器 Linux 容器不是模拟一个完整的操作系统,而是 对进程进行隔离 。或者说,在正常进程的外面套了一个保护层。 对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离 。 由于容器是进程级别的,相比虚拟机有很多 优势 。 (1) 启动快 容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以,启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。 (2) 资源占用少 容器只占用需要的资源,不占用那些没有用到的资源;虚拟机由于是完整的操作系统,不可避免要占用所有资源。另外,多个容器可以共享资源,虚拟机都是独享资源。 (3) 体积小 容器只要包含用到的组件即可,而虚拟机是整个操作系统的打包,所以容器文件比虚拟机文件要小很多。 总之,容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。 二、Docker 是什么?

【Spring】IoC概述

China☆狼群 提交于 2020-01-13 21:37:52
Spring框架的核心概念——IoC IoC IoC是Inversion of Control的简写,翻译成汉语就是“控制反转”。IoC并不是一门技术,而是一种设计思想,在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection,DI),DI是实现IoC的一种方法。 在没有IoC设计的场景,没有IoC的程序,我们使用所需的对象时,需手动创建各种对象,对象的创建与对象间的依赖关系完全硬编码在程序中。 有了IoC这样的设计思想,在开发中,意味着将设计好的对象交给容器管理(没有IoC,对象的创建由程序自己控制,有了IoC后将对象的创建转移给第三方),而不再是像传统的编程方式中,在对象内部直接控制对象。 如何理解IoC呢?把握好两块:控制、反转。 1、控制:由谁控制,控制了什么? 由谁控制,由IoC容器来控制,控制了什么?控制了对象 没有IoC的程序中 , 我们使用面向对象编程 , 我们直接在某个对象内部通过new关键字创建另一个对象,是我们主动去创建依赖对象;而IoC的设计思想,是通过专门的对象容器来创建和维护对象。 控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的 2、反转:什么是反转,反转了哪些方面? 什么是反转,容器帮开发人员创建依赖对象

微服务监测的五大原则

﹥>﹥吖頭↗ 提交于 2020-01-13 19:23:16
一、背景 容器和微服务的出现并得到大量应用,从根本上改变了应用系统的组成和运行方式。而随着开发人员开始利用编排系统来管理和部署容器,规则进一步发生了变化。以往主机上的一个简单应用,现在已成为一个复杂的、动态编排的、多容器的体系架构,这同时也对应用的监测提出了全新的挑战。 Sysdig,是专注于系统故障排查和监控工具的公司,其产品Sysdig Cloud是定位于容器系统故障排查和监控的平台。在今年召开的JFrog SwampUp用户大会上,Sysdig公司提出监测容器及构建在其上的微服务的五大关键原则。这些原则充分考虑了容器和微服务与传统架构在运维方式上的差异。 本文即是根据Sysdig公司在本次大会上的演讲视频整理而成的。 二、微服务是什么 要正确地监测微服务,首先要正确地理解什么是微服务。 演讲首先引用了Martin Fowler关于微服务的定义(Martin Fowler是国际著名的面向对象分析设计、UML、模式等方面的专家,敏捷开发的创始人之一,现为ThoughtWorks公司的首席科学家。很多人了解微服务架构都是从Martin Fowler的这篇文章开始的),即“微服务架构”描述了一种将软件应用程序设计为一组可独立部署的服务的特定方式。其中,“围绕业务能力的特性”,也就是说,微服务的划分不是依据程序的大小,而是以业务能力的拆分为基准的。这种业务细分后的服务,以及自动化部署

k8s

人盡茶涼 提交于 2020-01-13 18:02:14
  最近一直听到这个词,那就记录一下这个不明觉厉的东西到底是个啥玩意儿。   k8s全称Kubernetes是自动化容器操作的开源平台,不仅支持docker还支持其他的容器,rocket。可以做些啥呢?自动化容器部署复制、容器间的扩展、容器间的负载均衡等。   集群是一组节点,节点可以是物理服务器或者虚拟机,上面安装Kubernetes平台。有节点机就有主节点就是Kubernetes Master,主节点上有Replication Controller(复制控制器),复制控制器就是可以对pod进行复制,确保任意时间都有指定数量的Pod“副本”在运行。在节点上有pod,pod中包含container1、container2等 来源: https://www.cnblogs.com/yokiblogs/p/12188299.html

Docker 修改容器内的时区

青春壹個敷衍的年華 提交于 2020-01-13 16:38:19
这几天发现我的zabbix docker发送的邮件和微信告警,发送邮件的时间与告警触发时间不一致,比正常时间晚了8个小时 进入宿主机查看容器 docker ps 进入容器 docker exec -it “容器名“ bash 查询时间 date -R 发现时区为0时区 bash-5.0# date -R Tue, 17 Sep 2019 05:51:30 +0000 ---------------------------------------------------------------------------------- 解决办法 1.复制相应的时区文件,替换系统时区文件; cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 有的容器基础镜像是有这个文件的,直接拷贝就可以,如果不能拷贝,则是因为创建镜像时依赖的基础镜像 运行的容器没有这两个文件,使用下面的办法 2. 创建文件夹 mkdir -p /usr/share/zoneinfo/Asia 3.回到宿主机,复制宿主机里的文件到容器中 docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia 4. 进入容器 docker exec -it 容器Id或容器名 bash

Docker学习之docker常用命令

余生颓废 提交于 2020-01-13 16:35:02
docker ps -a 表示所有容器 docker pull 获取image docker build 创建image docker run 运行container docker images 列出本地所有image docker ps 列出container docker rm 删除container docker rmi 删除images docker cp host和container之间拷贝文件 docker commit 保存改动为新的image docker run nginx/容器名 先查看本地是否存在这样的容器-images,如果不存在则从远程拉取images docker run -p 8080:80 -d 容器名称 docker ps 查看运行的docker docker stop 容器的id docker cp index.html 容器id://usr/share/nginx/html(路径 docker commit -m ‘commit 信息’ 容器id 容器名称 docker rmi docker的id -p 做端口映射 将 docker端口映射到本机的端口。 -d 是以守护进程返回,即后台运行。会返回容器的ID。 docker ps 查看docker 当前正在运行的进程。如果带上 -a 参数,就会显示所有运行过的记录 。类似ps。 docker

标准C++中string类及STL容器类简介

久未见 提交于 2020-01-13 12:09:13
一.标准C++库字符串类std::string的用法 #include std::string s1; std::string s3(s2); std::string s2("this is a string"); begin 得到指向字符串开头的Iterator end 得到指向字符串结尾的Iterator rbegin 得到指向反向字符串开头的Iterator rend 得到指向反向字符串结尾的Iterator size 得到字符串的大小 length() 和size函数功能相同 max_size 字符串可能的最大大小 capacity 在不重新分配内存的情况下,字符串可能的大小 empty 判断是否为空 operator[] 取第几个元素,相当于数组 c_str 取得C风格的const char* 字符串 data 取得字符串内容地址 operator= 赋值操作符 reserve 预留空间 swap 交换函数 insert 插入字符 append 追加字符 push_back 追加字符 erase 删除字符串 clear 清空字符容器中所有内容 resize 重新分配空间 assign 和赋值操作符一样 replace 替代 copy 字符串到空间 find 查找,返回基于0的索引号 rfind 反向查找 find_first_of 查找包含子串中的任何字符,返回第一个位置