docker学习之路(入门篇一)

一.出现的原因及解决思路

1.1 配置问题

  • 自己的开发环境具有特定的配置,而其他开发人员也各有其特定的配置,又由于自己开发的应用依赖于自己原有的特定配置,故如果原封不动将此应用发给其他开发人员,就会由于配置不同而导致诸多问题,从而需要费时费力去解决,明显带来不必要的效率问题。

1.2 解决思路

  • 安装的时候,将原始环境完全复制过来

1.3 实际解决方法–Docker

在这里插入图片描述

  • 传统上,开发团队会将完成的代码程序和相应的配置、部署文件提交给运维团队,但仍然出现部署失败的情况。docker通过镜像将作业系统核心除外,运行应用所需的环境,自底向上进行打包,实现应用跨平台无缝接轨运作

二.一次镜像,处处运行

  • 类比对象一:多个人在自己的电脑(不论windows,ios)都安装vmware虚拟机,并在其上运行同样的centos.iso镜像文件,就能够保证环境迁移的一致性,也就是呈现相同的运行效果
  • 类比对象二:将某项目的源码,运行环境,配置文件等打包成一个镜像文件,多个人在自己的电脑(不论windows,ios)都安装docker,只需在docker上运行这一份镜像文件,也能保证环境迁移的一致性,呈现相同的运行效果

三.容器与虚拟机对比

3.1 容器发展简史

在这里插入图片描述

3.2 传统虚拟机技术

3.2.1 结构图

在这里插入图片描述

3.2.2 缺点

  • 原因:由于iso镜像文件包含了整套操作系统的硬件和软件,虽然完整迁移了环境,但也造成迁移过多,有些不必要的软硬件会占用空间
  • 缺点总结:1.资源占用多;2.冗余步骤多;3.启动慢

3.3 容器虚拟化技术

3.3.1 结构图

在这里插入图片描述

3.3.2 特点分析

  • linux容器虚拟化技术,即linux容器。它是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包括应用所需的全部依赖项,因而从开发到测试的整个过程,都具有可移植性和一致性。
  • 重点:不是模拟一个完整的操作系统而是隔离进程。与虚拟机不同,不需要捆绑整个操作系统。

3.4 对比总结

  • 轻便性对比:传统虚拟机需要运行完整的操作系统,而容器内的应用直接运行于宿主的内核,容器内没有自己的内核且没有进行硬件虚拟。
  • 容器化特点:容器之间相互隔离,各有自己的文件系统,各自对应进程互不影响。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值