docker介绍(一)

94 阅读3分钟

「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战

前言

由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作,所以docker出现了,为了解决这些重复的问题,产生了一个容器的概念,docker为了解决这样的问题而出现。

docker简介

  • 是一种运行于各个系统下的一个软件,包括linux、windows、mac等,用于创建、管理和编排容器。

  •  GitHub 上开发的 Moby 开源项目的一部分。

  •  使用google公司推出的Go语言进行开发实现,基于 Linux 内核的 cgroupnamespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。

docker优点

  • 更高效的利用系统资源。由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。

  • 对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其它机器上。

  • 可以通过容器技术将开发环境和测试环境以及生产环境保持版本和依赖上的统一,保证代码在一个高度统一的环境上执行。而测试环境的统一,也同样能解决CI流程对环境的要求。

  • 隔离性好。一台机器可能需要部署很多个不同的服务,并且相互有关联,可能会有对应的影响。使用容器可以部署多个不同的服务,最好还是将其隔离起来。而容器在这方面有天生的优势,每一个容器就是一个隔离的环境。

  • 成本低。如果一个服务需要开一个虚拟机或者一台服务器,那么我们的服务如果多一些,就会耗费大量成本,容器就可以帮我们一台机器就可以产生大量容器,部署很多服务。

总结

虽然docker有着很大的优点,但是当同一虚机或者服务器下面的容器需要更高并发量支撑的时候,也就是并发问题成为应用瓶颈的时候,容器会将这个问题放大,所以,并不是所有的应用场景都是适用于容器技术的。

但是docker已经能满足大量的应用了,产生效果比较好,下一篇进一步解答docker其他的使用和相关概念。

学习docker重点要掌握各种命令代表的含义,学会如何去运用。

引用 www.linuxprobe.com/docker-pros…