Docker简介

Docker
你知道什么是 Docker吗?
docker是一个开源项目,基于Google公司推出的GO语言实现,项目后来加入了Linux基金协会,当前遵循的是apache2.0协议,最新发布的代码在github进行维护。docker项目的目标是实现轻量级的操作系统虚拟化解决方案。docker的基础是Linux容器(LXC).在LXC的基础上docker进一步进行封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作docker的容器就像操作一个快速轻量级的虚拟机一样简单。

如下:
1.传统虚拟机
Docker简介_第1张图片
2.Docker
Docker简介_第2张图片

俩者不同之处在于,Docker容器是在操作系统上面实现虚拟化,直接复用了本地主机的操作系统。传统的虚拟机则是在硬件层面实现。

我们为什么要使用 Docker?
Docker简介_第3张图片
首先,docker容器启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。

具体说来,Docker 在如下几个方面具有较大的优势。

  • 更快速的交付和部署
  • 更高校的资源利用
  • 更轻松的迁移和扩展
  • 简单的管理
  • 更轻松的维护

更快速的交付和部署
对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意环境正常运行。开发者只需要使用一个定义好的标准镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。docker可以快速创建容器,快速迭代应用程序,而且使整个程序全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。docker容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。

更高效的资源利用
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。哪是因为docker容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,所以可以实现更高的性能和效率。

更轻松的迁移和扩展
我们在开发的过程中,经常遇到一个问题就是环境一致性问题,由于本地开发环境、测试环境、生产环境不一致,导致一些BUG并未在开发过程中发现出来,而 docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性。所以docker容器可以在容易平台上运行,其中包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种强大的兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个,并且能够完整的保持运行环境的一致性。

更简单的管理
比如一个项目长期的持续交付和部署,对于我们开发和运维人员来说,只需要小小的修改,就可以替换调以往大量的更新工作,而且对于手残党在集群环境下进行大量局部替换,还能够有效的避免部署错乱。我们所有的修改,容器都会已增量的方式被分发和更新,从而可以实现自动化且高效的管理。

更轻松的维护
docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。

你可能感兴趣的:(LINUX,Docker,Docker,项目运维,项目发布)