微服务技术(四)Docker(一)介绍


1. 为什么需要 docker


在项目开发阶段经常听到一句话:代码在我这里跑正常,为什么在你的机器上就出 bug?

docker 就是为了解决此问题诞生,将整个环境打包一起交付,这样保证开发环境、测试环境、正式环境都是一样的,避免因为环境不一致而产生不必要的问题。

一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。

容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。

容器化软件适用于基于Linux和Windows的应用,在任何环境中都能够始终如一地运行。

容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。

再来看看容器较为通俗的解释:

如果需要通俗的描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

2. 什么是 docker


docker 是基于 go 语言实现的开源项目,主要理念是:Build、ship and run any app,anywhere(在任何地方构建、发布、并运行任何项目)。

docker 是解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。


3. docker 和虚拟机的区别


虚拟机是模拟一套完整的计算机硬件,在模拟的硬件上运行起来新的操作系统,启动慢,占用资源大。

Linux 内核中提供了容器技术(Container)的支持,利用 namespace 将进程之间隔离,利用 cgroup 限制特定进程的资源使用。

基于 Linux 内核提供的容器技术,docker 不需要模拟一套硬件,甚至都不需要新的操作系统内核,提供一套新的 rootfs 即可,带来的优点如下:

每个容器有自己的文件系统,容器之间相互隔离,容器之间的进程不会影响
启动快,开销小

4.docker在企业中的应用场景

总结:Docker能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员以便他们专注在真正重要的事情上:构建杰出的软件。

用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Allen019

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

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

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

打赏作者

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

抵扣说明:

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

余额充值