为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第8天 Docker

标签:
SpringBoot

课程名称:SpringBoot+Vue3 项目实战,打造企业级在线办公系统


课程章节: 用户管理模块


课程讲师: 神思者


    Docker是轻量级的虚拟机产品,我们在使用Docker的时候,它并不会为每个虚拟化实例(容器)创建完整的虚拟硬件环境,而是为每个实例虚拟化少量的硬件环境(例如网卡)。这些虚拟化实例直接共享使用Linux系统的CPU、内存和硬盘资源。因此说,采用Docker的Linux主机,可以轻松创建几十个容器。运行在容器中的程序,除了有良好的隔离性之外,跟直接在Linux上运行没什么性能损失。


https://img1.sycdn.imooc.com//635f164e00011e7708080328.jpg


VMware这种重量级的虚拟机,无法做到这一点。VMware虚拟机创建每个实例,都要虚拟化完整的硬件环境,所以在Linux或者Windows系统上面根本无法创建多个这样的虚拟机实例。


Docker容器之间是相互隔离的,我们可以在容器中部署程序的同时,不用担心跟其他容器产生冲突。例如某公司几年前开发的Java程序用的是JDK1.6,但是现在要部署的Java项目用JDK1.8开发的,现在我们无法在服务器上面同时安装JDK1.6和JDK1.8环境。如果我们用上了Docker程序,先创建出两个容器,然后分别安装JDK1.6和JDK1.8,接下来分别部署新旧程序。这就能做到在一个服务器上面可以部署若干程序的时候,不用担心发生矛盾冲突。其实你在阿里云和腾讯上面购买的云主机实例,就是这种虚拟化的容器。如果你想让容器之间可以通过网络访问,可以采用端口映射或者host模式,一会儿我会讲这个事情。


其次,Docker能为我们提供快速化部署。比如说有人在网上提供了PHP镜像,里面包括了PHP环境、Apache服务器和MySQL数据库,我们从网上下载镜像,然后创建容器,就直接可以部署PHP项目了,非常的方便。再比如,你自己也可以创建镜像,把要部署的程序和运行环境打成Docker镜像,分发给其他人,他们创建容器就可以直接运行程序了。


总结成一句话,Docker有毒,用上就会让人上瘾。


镜像和容器


Docker为了最大化的共享资源,减少资源浪费,创造出了镜像技术。镜像是虚拟实例之间相同的部分,差异化的部分叫做容器。比如说一个JDK镜像,里面安装了JDK1.8,然后我为这个镜像创建出3个容器,这三个容器共享使用JDK镜像中的Java环境,并且我可以在每个容器中部署不同的Java程序。如果Docker没有镜像技术,我们只能分别在三个容器中安装JDK环境,这就造成了不必要的重复浪费。


需要注意的是,容器只能读取镜像中的数据,不能修改镜像的内容,也就是说,镜像对于容器是只读的


 https://img1.sycdn.imooc.com//635f16da0001557d08830783.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
25
获赞与收藏
19

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消