热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

正式发布_容器技术标准化大统一,OCIV1.0正式发布!|航海日志Vol.21

篇首语:本文由编程笔记#小编为大家整理,主要介绍了容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21相关的知识,希望对你有一定的参考价值。 ➤ 容器技术标准化大统

篇首语:本文由编程笔记#小编为大家整理,主要介绍了容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21相关的知识,希望对你有一定的参考价值。




 容器技术标准化大统一,OCI V1.0 正式发布!


容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21

在过去几年中,容器技术被大家关注,使用率也在不断升高。几乎所有的主要技术供应商和云提供商都宣布了以容器技术为基础的解决方案,并且在这一领域也成立了许多的新兴企业。容器作为应用程序可移植性的来源的保证也需要建立一定程度的标准,确保中立性。


所以就诞生了OCI(Open Container Initiative),其目标是围绕容器技术制定共同的、最低限度的开放标准和规范。 我很自豪地说,在经历了无数艰辛之后,我们已经达到了我们第一个关键的里程碑:7 月 19 日 OCI v1.0 正式发布!


该版本将一组通用的、最小的、开放的标准和规范带到了一个现实的容器技术中, 包含了图像格式规范 (容器图像格式的规范)和运行时规范 (管理容器运行周期的规范)。规范的开放性在整个行业中形成了一套真正的共享标准, 从而减少了互操作性问题和不必要的资源浪费。



 如何说服你的老板或经理使用 Docker ?


容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21

我是一个 learning by example 的忠实拥护者,而不是需要“你需要将营销方案从开发人员的满意度转化为可量化的业务指标”这样的提示的爱好者,我只是列出了一些常见的 DEV/OPS 问题, 然后列出 Docker 如何解决这两个人群的问题。


这样,您可以使用一组可用于一系列不同 Docker 的问题,您可以根据您的老板或经理的技术以及适用于您的方式选择使用哪些解决方案。 随意做自己的调整!


此外,值得一提的是,这些可以重新设计用于几十个用例的更改,这就是为什么我没有列出每个可能的问题/解决方案。


1. 如何在开发过程中管理多个项目


  技术问题:

在我的开发机器上管理多个项目真的很痛苦,因为像 rvm,virtualenv,nvm 和 phpbrew 这样的工具令人困惑,使用起来很麻烦,特别是当我需要升级不同项目中的语言版本和依赖项时。

这可以重新定位为“建立开发环境弊端”问题。


  技术方案:

使用 Docker,您可以将这些工具丢弃。 Docker 将您的应用程序打包成一个独立的“ Docker 映像”。您可以为每个应用程序创建一个图像,如果每个应用程序使用不同的语言版本,这些都不重要。升级或更改版本是1行更改。


2. 让新加入开发人员加快速度


  技术问题:

试图在项目上开发新的开发人员花费的时间不合理,涉及到多个人每次都要排除多个问题。不仅如此,我们正在努力使文档保持最新。没有人想去看一个极其复杂的操作手册。

这可以被重新设计为“它适用于我!”的问题。


  技术方案:

一旦你“得到” Docker,你会看到如何使用一个简单的工具来运行和管理整个项目。新开发者只需要运行一个命令并放松,因为该命令将自己构建并启动最复杂的应用程序。初始设置时间也是最小的。


3. QA / Production 中出现意外问题


  技术问题:

当涉及部署代码时,会出现各种平台特定的问题和应用程序级错误。由于开发和生产之间的建立过程有很大的不同,所以有一百万种方法出错。系统包和进程之间的微妙版本差异是根本原因。


这可以被重新设计为“部署困难”的问题。


  技术方案:


由于 Docker 可以轻松构建和分发应用程序,您可以跨环境移动完整的工作包。这意味着在开发中运行的代码与生产中运行的代码相同。


无论是在 MacOS,Windows 还是 Linux 下开发都没关系。它将在任何操作系统上运行(即使是在您的服务器上不同的 Linux 发行版)。

容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21



 演讲推荐:Kubernetes 最佳实践


容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21

Kubernetes 是一款强大的工具,他可以真正简化您的操作。但是,存在着许多非常常见的陷阱,可能能会破坏你的体验。推荐给你一个有关“Kubernetes 最佳实践”的演讲,其中会分享一些关于构建和部署容器的最佳实践,让您更稳定,高效,安全地进行运行。




 如何监视 Mac / Windows 的 Docker


监控功能现在可以在 Docker for Mac / Windows 中使用。  我们不再需要猜测我们的开发或测试环境的性能。


有些人可能会问一个问题,我们为什么要监控我们的本地 Docker 环境。 对于初学者来说,监视所有事情是直观的。 第二,为了真正了解你的环境,我们需要剖析运行中的内容以及运行方式。 最后,了解环境以及是否影响工作负载的性能是一个很好的做法。

监控 Mac / Windows 后台程序的 Docker


我们开始配置您的安装。 以下屏幕截图来自 Mac,但步骤应该适用于 Windows 。 我们现在将在我们的 Docker for Mac / Windows 上启用 Daemon 指标,格式为 Prometheus


1. 打开Docker for Mac / Windows Preferences菜单

容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21

2. 导航到 Daemon 程序菜单,然后单击高级

容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21

3. 在代码框内,我们将添加一条额外的行来启用指标。 在调试语句下面添加以下代码行:“metrics-addr“:”0.0.0.0:9323“


4.点击Àpply&Restart,等待Docker重启。测试出来 打开一个带有以下URL的浏览器选项卡:http://127.0.0.1:9323/metrics


- 使用 Prometheus 监视

- 配置 Grafana


➤ Docker 群模式群集中的消费服务

容器技术标准化大统一,OCI V1.0 正式发布!|航海日志 Vol.21

本教程是 Docker Swarm 容器编排系列中的第三个。第一个教程介绍了如何引导 Docker Swarm Mode 群集,第二个教程介绍了如何在 Swarm 群集中调度工作负载。本教程将探讨 Swarm 群集内部和外部的服务消耗问题。


当我们将微服务部署在诸如 Docker Swarm 群集之类的计算集群上的容器时,至关重要的是我们有一个服务发现方法来调用。对我们有效消费服务的能力至关重要。


正如我们在本系列的前一篇文章中所学到的,我们委托平台的调度功能在整个集群的节点上分发我们的服务。如果一个服务需要消耗在集群中运行的另一个服务,它如何知道在哪里找到它?服务可以缩放,消费者服务如何知道组成提供服务的哪个容器来解决以消费服务?如果我们缩小了服务范围,那么我们如何确保服务请求在整个服务的容器中得到最佳的平衡?集装箱是短暂的,来来去去。消费者服务如何跟踪哪里可以解决其服务请求?


关于内部服务提供和消费的所有这些问题同样适用于在群集上运行的服务的外部消费者。


这些问题与服务发现技术有关,并被解决。 Docker Swarm 和 Kubernetes 等容器协调平台为基于容器的服务抽象提供内置服务发现。



这一期的『航海日志』就到这里,下期再浪~


参考链接



  • https://www.opencontainers.org/blog/2017/07/19/oci-v1-0-bringing-containers-closer-to-standardization


  • https://blog.docker.com/2017/07/title-moby-summit-alongside-open-source-summit-north-america/


  • https://speakerdeck.com/thesandlord/kubernetes-best-practices


  • https://www.brianchristner.io/how-to-monitor-docker-for-mac-windows/


  • https://semaphoreci.com/community/tutorials/consuming-services-in-a-docker-swarm-mode-cluster



作者介绍



夏岩:DaoCloud 技术顾问,伪の全栈工程师 && 语言爱好者。









Discussion | 你对今天的哪条新闻最感兴趣?



 


  • 你对今天的哪条新闻最感兴趣?你有什么独到的见解?


  • 本周你还有什么更具爆炸性的容器圈新闻吗?欢迎在留言区爆料!










推荐阅读
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
author-avatar
光陆光陆光陆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有