【Docker】从0到部署单容器服务

Docker是什么

Docker是一款开源轻量级的容器引擎,让开发者可以轻松将自己的项目部署到一个容器中,发送给其他人使用。

为什么需要Docker,普通部署方式不可行吗?

可行,但在程序员之间常年流传着这样一句话:”在我机器上能跑“,是表达了对这段代码的肯定,更是表达了对这段代码的不确定,不确定其是否在其他机器其他环境下依然能完好如初。

一个复杂的项目往往很难如人意,尽管各大语言基本都有控制项目环境的工具,尽量保证运行环境的一致性(例如java的maven,gradle,python的requirements.txt),但是编译环境和系统环境又如何保证?很多时候开发者要花费大量时间去确保程序在不同环境上的兼容性,使用者要费时费力按照使用说明配置运行环境。有了docker,开发者可以将程序连带着编译环境,系统环境全部打包到容器中,以镜像的方式传输给使用者,几乎可以保证不管在谁的机器上,程序的运行环境始终如一。开发者一心放在开发,不用再担心环境问题,使用者也不用再手动安装十几个依赖,浏览器的几十个tab只为解决一个依赖安装失败的问题。

Docker的原理

在一台机器上虚拟不同环境,听起来与虚拟机很相似,但其实不然

Docker vs. VM

图片左侧为虚拟机架构,有一层GuestOS包含一个完整的操作系统,由Hypervisor虚拟化硬件资源,运行在了一个完全隔离的环境中的独立计算机系统。这是一个相对彻底的虚拟。也正是因为提供了物理层面与其他操作系统的隔离,消耗了很多资源,对性能影响较大。

而docker之所以被称为一个轻量级的容器,是因为其不是一个单独的操作系统,而是直接使用主机的硬件资源,因此容器的资源利用率和直接使用Host OS的硬件资源相差无几。
Efficiency comparison
这是IBM对计算能力做的一个测试对比,硬件使用两个16核的CPU,总共32核&#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值