开发者,Docker是什么能干什么?

本文介绍了Docker作为云原生架构的关键技术,对比了虚拟机和容器的区别,强调了Docker在资源利用、启动速度、环境一致性、迁移便捷及持续交付方面的优势。同时,也提到了Docker在大规模容器管理时的挑战,以及Kubernetes作为解决方案的出现。
摘要由CSDN通过智能技术生成

关键词:docker 云原生 容器

在这里插入图片描述

前言

云原生架构离不开微服务,容器,k8s等技术的支撑,当下很火的容器 Docker 到底是什么,它又能为开发者带来哪些便利呢?

一、Docker是什么?

口号:一次创建或配置,可以在任意地方正常运行

Docker是一个开源软件,也是一个开放平台,它用于开发应用、交付应用、运行应用。

Docker允许用户将基础设施中的应用单独分割出来,形成更小的部分容器,从而提高软件交付速度。

在这里插入图片描述

二、虚拟机 (Virtual Machine)

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。

在计算机创建虚拟机时,会将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存,每个虚拟机都有独立的硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。

虚拟机会消耗大量系统资源和开销,尤其是当多个虚拟机在同一物理服务器上运行时,每个虚拟机都有自己的子操作系统,大量精力以及资源被用于虚拟化的部署和运行上。

在这里插入图片描述

三、容器(Container)

容器类似于虚拟机,只是容器不是完整的操作系统,容器通常只包含必要的操作系统包和应用程序。它们通常不包含完整的操作系统或硬件虚拟化,这就是它们“轻量级”的原因。

在这里插入图片描述

Docker 可以尽可能轻松地创建和使用容器。

四、容器 VS 虚拟机

相比之下,每个容器均共享同一主机操作系统或系统内核,非常轻巧,通常只有数 MB ,这意味着容器可能只需几秒钟即可启动,而虚拟机则需要数 GB 和数分种。

特性容器虚拟机
隔离级别进程级别操作系统级别
系统资源0~5%5~15%
镜像大小kb~MBGB~TB
启动时间秒级分钟级
集群规模上万上百
高可用策略弹性,负载,动态备份,容灾,迁移

在这里插入图片描述

五、Docker能帮开发者做什么?

为什么要使用Docker,它能为开发者带来哪些便利呢?

在这里插入图片描述

5.1 更高效的利用系统资源

Docker对系统资源的利用率更高,因为容器不用硬件虚拟以及运行完整操作系统等额外开销,无论是应用执行速度、内存损耗或者文件的存储速度,都要比传统虚拟机技术更高效,因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

5.2 更快的启动时间

传统的虚拟机技术启动应用服务往往是分钟级别的,而Docker由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间,大大的节约了开发、测试、部署的时间。

5.3 更轻松迁移

Docker确保了执行环境的一致性,使得应用的迁移更加容易,Docker可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户不用担心运行环境的变化导致应用无法正常运行的情况。

5.4 一致的运行环境

开发过程中常见的问题是环境一致性问题,由于开发测试生产环境不一致,导致有些bug没能在开发过程中被发现,而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 代码在我机器上能跑,这不怪我啊 这类问题。

5.5 持续交付和部署

对开发和运维(DevOps)来说,最希望的就是一次创建或配置,可以在任意地方正常运行,使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。
……

六、Docker 的缺点?

Docker本身非常适合用于管理单个容器。但随着您开始使用越来越多的容器和容器化应用,并把它们划分成数百个部分,很可能会导致管理和编排变得非常困难。

你需要对容器实施分组,以便跨所有容器提供网络、安全等服务,于是 Kubernetes 应运而生。

在这里插入图片描述


七、写在最后

开发者,读到这里,相信你对Docker有了清晰的认识,接下来就是深入学习这门技术了,别忘了三连支持博主呀~ 我是小周,期待你的关注~👋

主页:查看更多文章
专栏:订阅专栏 ✅
在这里插入图片描述

评论 141
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王子周棋洛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值