Docker容器简介、优缺点

发布于:2023-01-21 ⋅ 阅读:(643) ⋅ 点赞:(0)

Doclker容器简介

中文文档:docker中文社区---文档及入门教程

Docker是一个开源的应用容器引擎,是一种运行于Linux和Windows上的软件,用于创建、管理和编排容器,基于Go语言,并遵从Apache2.0协议开源,实在GitHub上开发的Moby开源项目的一部分。

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似iphone的app),更重要的是容器性能的开销极低。

Docker从17.03版本之后分为CE(community Edition:社区版)和EE(Enterprise Edition:企业版)

Docker公司位于旧金山,由法裔美籍开发者和企业家Solumon Hykes创立,其标志如下图所示

Docker 公司起初是一家名为 dotCloud 的平台即服务(Platform-as-a-Service, PaaS)提供商。底层技术上,dotCloud 平台利用了 Linux 容器技术。为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之后被命名为“Docker”。

Docker的应用场景

1、简化不同环境配置差异

虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件、系统),Docker在降低额外开销的情况下提供了同样的功能,它能让你将运行环境和配置放在代码汇总然后部署,同一个Docker的配置可以再不同的环境中使用,这样就降低了应交要求和应用环境之间耦合度。

2、代码流水线管理

代码从开发者的机器到最终在生产环境上的部署,需要经过很多的中间环境,而在每一个中间环境都有自己微小的差别,Docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变的简单不少。

3、提升开发效率

不同环境中,开发者的共同目标:

        (1)让开发环境尽量贴近生产环境

        (2)快速搭建开发环境

开发环境的机器通常内存比较小,之前使用虚拟机的时候,我们经常需要未开发环境的机器加内存,而现在Docker可以轻易地让几十个服务在Docker中跑起来。

4、隔离应用

开发时会在同一台机器上部署运行不同的应用

        (1)为了降低成本,进行服务器整合

        (2)讲一个整体式的应用拆分成低耦合的单个服务(微服务架构)

5、整合服务器

Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本。由于没有多个操作系统的内存占用,以及能在多个实例之间共享没有使用的内存,Docker可以比虚拟机提供更好的服务器整合解决方案。

6、调试能力

Docker提供了很多的工具,这些工具不一定只是针对容器,但是却适用于容器。他们提供了很多功能,包括可以为容器设置检查点,设置版本,查看两个容器之间的从差别,这些特性可帮助我们调试BUG。

7、多租户环境

多租户环境的应用中,他可以避免关键应用的重写,我们特别的关于这个场景的例子是为物联网(IoT)的应用开发一个快速,易用的多租户环境,这种多租户的基本代码非常复杂,很难处理,重新规划以应用不但消耗时间,也浪费金钱。

使用Docker,可以为每一个租户的应用层的多个实例创建隔离的环境,这不仅简单而且成本低廉,因为Docker环境启动的速度快,diff命令很高效。

8.快速部署

Docker为进程创建一个容器, 不需要启动一个操作系统, 时间缩短为秒级别.
可以在数据中心创建销毁资源而无须担心重新启动带来的开销. 通常数据中心的资源利用率只有30% , 通过使用Docker并进行有效的资源分配可以提高资源的利用率。

9.环境标准化和版本控制

Docker容器可以在不同的开发与产品发布生命周期中确保一致性,进而标准化你的环境。除此之外,Docker容器还可以像git仓库一样,可以让你提交变更到Docker镜像中并通过不同的版本来管理它们。设想如果你因为完成了一个组件的升级而导致你整个环境都损坏了,Docker可以让你轻松地回滚到这个镜像的前一个版本。这整个过程可以在几分钟内完成,如果和虚拟机的备份或者镜像创建流程对比,那Docker算相当快的,它可以让你快速地进行复制和实现冗余。此外,启动Docker就和运行一个进程一样快。

Docker的优缺点

优点

  • 跨平台可移植性:按统一标准打包(镜像中),可传播。

  • 面向应用:优化部署应用(设计哲学)→API,接口及文档(体现)。

  • 版本控制:追踪、查询、记录版本信息(应用程序更改史)和回滚版本等

  • 组件复用:组件式搭建(基础镜像)→Python(运行环境) | postgreasql(基础镜像)。

  • 共享性:公共的注册服务器(可免费下载源码)。

缺点
Docker 的安装非常容易.目前,Docker支持所有的Linux系列系统,(Ubuntu,RHEL,Debian等).通过Boot2Docker虚拟工具,在OS X 和 Windows下也能够正常运行Docker.
注: Docker运行环境的限制:

  • 必须是64位机器上运行,目前仅支持 x86_64和AMD64,32系统不支持.

  • 系统的Linux内核必须是3.8或者更高,内核支持Device Mapper,AUFS,VFS,btrfs等存储格式.

  • 内核必须支持cgroups和命名空间.

 


网站公告

今日签到

点亮在社区的每一天
去签到