容器

Container 系列

你说的曾经没有我的故事 提交于 2019-12-19 23:42:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 容器化技术 容器化是近年最火的技术之一。它的 隔离 性, 轻量 性,可 配额 /可 度量 ,在配置一台囊括很多服务的系统上有着很大的优势。这些特性使得 单个服务 的 维护成本降低 。 作为技术层面上来说,经过几年的发展(Docker 2013至今),它已经变的足够稳定。从技术访谈上看,作为生产环境来使用的公司很多,这代表着 很多坑这些人已经踩过了 ,这也是使用它的一个理由之一。 网络附加存储 网络附加存储并不是一个新鲜的概念, 有许多公司已经在它之上耕耘了好多年,例如 群晖科技( Synology) ,拥有大量的 专利 ,其研发的 Disk Station Manager 操作系统更是在 易用性 和 技术多样性 上达到了一个 巅峰 。 然而这些的厂商在处于垄断地位时, 封闭 了它们的系统, 它们出售的 硬件性价比低 的惊人,在性能上中规中矩。这些都引发了很多争议,有一些想法的黑客 破解了它们的系统,让其装在兼容机上 ,但由于没有专业的硬件支持,并没有人维护它等原因,使用系统中的一些 特色功能 变的十分困难,正常使用也变得复杂。 我在试用群晖的操作系统时(vmware), 发现它的构建中心可以安装Docker容器引擎,体验了Docker Hub中的 Redis、OwnCloud等镜像后,感觉非常不错

Docker容器内信息获取和命令执行

馋奶兔 提交于 2019-12-19 17:53:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 依附容器 docker attach big_poincare 只能依附前台型容器,后台型容器是无法依附终端的,因为它本身就不接受用户交互输入 。 2. 查看容器日志 docker logs -f deamon_logs :滚动查看日志(tail -f) docker logs --tail=5 deamon_logs :查看最新5行日志(tail -n 5) docker logs -f --tail=5 deamon_logs : 查看最新五行,并监视最新的日志 docker logs -f -t deamon_logs : 添加 -t 标志可以打印产生日志的时刻 3. 查看容器进程 docker top deamon_logs 4. 容器内执行命令(不自己总结了,书上写的很清楚) 在容器启动的时候,通常需要指定其需要执行的程序,然而有时候我们需要在容器运行之后中途启动另一个程序。从Docker 1.3开始,我们可以用docker exec命令在容器中运行新的任务,它可以创建两种任务:后台型任务和交互型任务。后台型任务没有用户交互终端,交互型任务具有和用户交互的输入输出终端。 让我们看一个后台型任务的例子: $ sudo docker exec -d daemon_dave touch /etc

未来的容器云技术栈会怎么样?在容器技术大会上的演讲

风格不统一 提交于 2019-12-19 17:48:38
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> @Container大会是由国内容器社区DockOne组织的专为一线开发者和运维工程师设计的顶级容器技术会议。今天有1200多位小伙伴顶着北京的寒冬来到现场。 本文是大会的第一场演讲内容,讲师是华为高级工程师钟成。 分享摘要 华为早在2009年进入云计算领域,并在存储、网络方面有深厚的技术积累。2015年7月发布公有云战略,12月推出基于Kubernetes和Docker技术打造的CCE容器云。本次演讲将和大家聊一聊华为PaaS团队如何以用户为中心建设容器集群,探讨一些未来的技术热点和趋势,包括容器复杂网络支持、集群联邦、集群性能优化、图形可视化编排等,以及参与Kubernetes开源社区的全球协同工作模式。 PPT全文 来源: oschina 链接: https://my.oschina.net/u/224285/blog/609366

Docker容器日志查看与清理

送分小仙女□ 提交于 2019-12-19 16:45:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 问题 docker容器日志导致主机磁盘空间满了。 docker logs -f container_name 噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日志一般存放在 /var/lib/docker/containers/container_id/ 下面,查看各个日志文件大小的脚本docker_log_size.sh,内容如下: #!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done # chmod +x docker_log_size.sh # ./docker_log_size.sh 2.2 清理Docker容器日志(治标) 如果docker容器正在运行,那么使用 rm -rf 方式删除日志后,通过 df -h 会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过 rm -rf 或者文件管理器删除文件,将会从文件系统的目录结构上解除链接

Spring Framework

走远了吗. 提交于 2019-12-19 16:12:45
Spring Framework Overview history, design philosophy, feedback, getting started. Version 5.1.7.RELEASE Spring使得可以很容易的创建Java企业应用。在一个企业环境中,他完全使用Java语言提供你需要的所有东西,并且也支持基于JVM的Groovy和Kotlin,同时可以根据应用需要灵活的创建多种多样的架构设计。从Spring Framework 5.1开始,Spring需要JDK8+(Java SE 8+),并为JDK11 LTS提供开箱即用的支持。 1. What We Mean by "Spring" “Spring”这个词在不同的语境中有不同的意思,最初,它可以被用来指Spring Framework 项目本身。之后其他的一些Spring 项目基于Spring Framework 创建。通常,大家说“Spring”是指整个Spring家族。这个参考文档专注于这些的基础:Spring Framework 。 Spring Framework 划分为多个模块。应用可以选择需要的模块。这些模块的核心是core容器,包括配置模型和依赖注入的机制。除此之外,Spring为不同的应用架构提供了基础支持,包括消息,事务数据和持久化,Web。它也提供了基于Servlet的Spring

小巧的屏幕录像软件oCam

若如初见. 提交于 2019-12-19 12:48:33
oCam 小巧的屏幕录像软件,支持选择不同视频格式 官方下载地址: http://ohsoft.net 请直接去国外官网下载,因为软件每隔一个季度会自动更新,打开软件也无法保留旧版本,所以不要去下载旧版本。 体积:30 MB 优势:界面简单,免费,无限录制长度。 优势:国内的免费软件3分钟,国内大多数均收费并且界面丑。 oCam免费屏幕录像机仅供家庭用户使用(非商业用途) OhSoft的主要产品oCam是一个功能强大的视频录制程序,可以通过您的PC录制要在监视器上播放的视频。 长期以来,世界上许多人都使用过这种解决方案,因此已经过优化。 该解决方案可以有效地记录许多互联网视频,包括使用各种格式的在线游戏,无限长度优势。 此外,您可以在此解决方案中使用GIF录制功能和WEB-CAM录制功能。 只需点击一下即可开始和停止录制 只需点击一下即可截屏 只需点击一下即可暂停和运行 通过鼠标拖动来调整大小 通过鼠标拖动移动记录区域 录制停止时自动保存 各种编解码器,方便设置 智能地搜索重新编码区域 轻松设置水印 方便的热键设置 支持各种视频格式 MP4(MPEG-4 Part 14)容器 MKV(Matroska)容器 MV4(iPod MP4)容器 MOV(QuickTime)容器 WMV(Windows Media Video)容器 FLV(Flash视频)容器 AVI(音频视频交错)容器

[zz]lxc学习

孤街浪徒 提交于 2019-12-19 07:55:51
lxc能做什么: 可以为容器绑定特定的cpu和memory,分配特定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和swap空间),提供device访问控制,提供独立的namespace(网络、pid、ipc、mnt、uts)。 默认的lxc配置是隔离pids(进程) sysv ipc(进程间通信),和挂载点。如果想运行sshd,就必须提供一个新的网络堆栈和hostname,如果想要避免文件冲突,需要重新挂载冲突文件到不同的地方。如果想要避免所有的冲突,你需要重新挂载一个文件系统。 lxc的实现: Sourceforge上有LXC这个开源项目,但是LXC项目本身只是一个为用户提供一个用户空间的工具集,用来使用和管理LXC容器。LXC真正的实现则是靠Linux内核的相关特性,LXC项目只是对此做了整合。基于容器的虚拟化技术起源于所谓的资源容器和安全容器。 LXC在 资源管理方面 依赖与Linux内核的 cgroups子系统 ,cgroups子系统是Linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在 隔离控制方面 依赖于Linux内核的 namespace特性 ,具体而言就是在clone时加入相应的flag(NEWNS NEWPID等等)。 lxc常见命令使用: lxc-version 用于显示系统LXC的版本号

k8s云集群混搭模式,可能帮你节省50%以上的服务成本

人盡茶涼 提交于 2019-12-19 05:05:53
现在大部分中小企业或团队都是使用云平台来部署自己的服务,如阿里云,亚马逊云等。一般来说,业务的负载都具备一定的规律,比如每天集中在某几个小时,或呈现时间段周期性波峰、波谷交替的现象,如下图 如果使用ECS来部署服务,则可能大部分时间ECS的资源没有得到充分利用,造成成本浪费,尤其对于像GPU之类成本较高的资源就更加了。这个时候,我们可以考虑使用云集群的混搭模式来节约成本。 业务场景 假设有一个这样的业务场景,包括如下特点及要求: 整个系统包括业务服务与两层视觉服务 各层服务之间调用需做负载均衡 每天的业务量主要集中在上午几个小时 平时业务量较低时仍要保证服务可用 尽可能降低成本,尤其是GPU服务器成本(GPU贵啊) k8s云集群混搭模式 现在各大云平台都已经提供容器云服务,如阿里云有基于ECI(弹性容器实例)的Serverless Kubernetes集群服务,基于ECS节点不需要提供master的Kubernetes托管版集群服务,及自己提供master的Kubernetes专有版集群服务等。为了迎合类似上述业务场景的需求,也提供了Kubernetes + virtual node(虚拟节点)的混合集群服务,如下图所示 其中的虚拟节点基于ECI支持多种功能,如GPU容器实例、大规格容器实例等,增强了Kubernetes集群的弹性,使集群不局限于ECS节点的资源,做到弹性无限扩容。

Docker命令学习

╄→尐↘猪︶ㄣ 提交于 2019-12-19 04:56:50
1.docker images -a 查看所有镜像 2.docker info 查看container和images的信息 3.docker run --name znidocker -i -t debian /bin/bash 创建并启动一个包含debian镜像的容器,启动后执行/bin/bash命令。--name指定容器名称。如果需要使用容器的指定端口,则需要加参数-p {port} 4.docker ps -a 查看当前系统中所有容器列表(包括正在运行和已经停止的)。不加-a则只显示正在运行的容器。 5.docker rm {container_id|container_name} 都可以删除容器 6.docker start {container_id|container_name} 启动已停止的容器 7.docker restart {container_id|container_name} 重启容器 8.在容器内部执行exit正常退出容器 9.docker stop {container_id|container_name} 停止容器 10.docker create --name znidocker2 -i -t debian /bin/bash 创建一个容器,但是不运行。 11.docker attach {container_id|container_name}

Spring的运行原理

感情迁移 提交于 2019-12-19 04:53:02
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。    ◆目的:解决企业应用开发的复杂性   ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能    ◆范围:任何Java应用    简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。    ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。    ◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。    ◆面向切面——Spring提供了面向切面编程的丰富支持