写点什么

老板,运维和开发又打起来了!,你连基础的 JVM 运行时内存布局都忘了

用户头像
极客good
关注
发布于: 刚刚

以前公司没使用 Docker 的时候以上这些经常会发生,自从用上 Docker 容器后,实现了开发、测试和生产环境的统一化和标准化。镜像作为标准的


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


交付件,可在开发、测试和生产环境上以容器来运行,最终实现三套环境上的应用以及运行所依赖内容的完全一致。现在和运维小哥哥小姐姐们相处可以说是如沐春风。


现在很多互联网公司都在构建 docker+微服务的架构体系。但是很多开发者根本不了知道微服务为什么一定要用 docker?这里必须要先说明物理机、虚拟机、容器三者的优缺点。基本概念所谓的物理机就是下面这样的别墅:



那么虚拟机机就是下面这样的套房:



最后就是我们的容器,就是下面这样的胶囊公寓:



Docker 本身并不是容器,它是创建容器的工具,是应用容器引擎。Docker 有两句口号:


“Build, Ship and Run”“Build?once,Run?anywhere(搭建一次,到处能用)”。


容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。


容器之间是共享同一套操作系统资源的,由于容器是共享主操作系统的内核,因此就无法在服务器上运行与主服务器不同的操作系统,也就是说不能再 Linux 的服务器上运行 Windows。


就如上面哪个图一样,每个胶囊容器是公用一个厕所,厨房,每个胶囊内无法再构建出自己的厕所和厨房!

容器的优势

隔离强:


用了 docker 容器后,将 Docker 可以将我们的应用程序打包封装到一个容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的资源。


容器之间达到进程级别的隔离,在容器中的操作,不会影响道宿主机和其他容器,这样就不会出现应用之间相互影响的情形!


可移植性:


现在:自从用上 docker 容器后,可以实现开发、测试和生产环境的统一化和标准化。镜像作为标准的交付件,可在开发、测试和生产环境上以容器来运行,最终实现三套环境上的应用以及运行所依赖内容的完全一致。


在现在微服务的架构中,一个应用拆成几十个微服务,每个微服务都对应有开发、测试、生产三套环境需要搭建。自己算算,如果采用传统的部署方式,有多少环境需要部署。


曾听闻某公司在新建一个项目的时候,要花整整一个礼拜来搭建环境,简直是惨不忍睹!


轻量和高效:


和虚拟机相比,容器仅需要封装应用和应用需要的依赖文件,实现轻量的应用运行环境,且拥有比虚拟机更高的硬件资源利用率。

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
老板,运维和开发又打起来了!,你连基础的JVM运行时内存布局都忘了