您现在的位置是:爱问

Docker究竟是什么,为什么这么流行,它的优点和缺...

2021-06-07 15:26爱问

简介Docker有什么优势?1. docker是什么?2. docker跟原有的工具有何区别?3. docker会对服务器端开发/部署带来什么变化?:单纯的Docker是一个非常难理解的东西,它和虚拟机有些类似,但又不等同于虚拟机,它们的原理是不同的。虚拟机只是对硬件进:-docker,服务...

1

单纯的Docker是一个非常难理解的东西,它和虚拟机有些类似,但又不等同于虚拟机,它们的原理是不同的。

虚拟机只是对硬件进行虚拟化,基于物理机的硬件虚拟出一套硬件之后,在这个基础上运行一个完整的操作系统,而Docker是虚拟化的容器,容器虚拟化的是操作系统而不是硬件,容器和容器之间共享同一套操作系统资源。

容器的优势是非常明显的:虚拟机将一台服务器变成多台服务器,每一个VM都拥有整套的操作系统、需要占用大量的空间,所以VM启动缓慢系统也会占用很多的硬件资源。代码、依赖的资源打包在一起形成一个容器,容器没有自己的内核,容器内的应用直接运行在系统的内核上,多个容器可以同时运行共享系统内核,但容器之间又以相互独立的进程在运行。所以容器比虚拟机要轻便很多,几乎瞬间就能启动。

2

Docker是一个开源容器引擎,将应用以及依赖打包到一个可移植的镜像中,并且将配置脚本化、自动化,实现一键部署、虚拟化和集群化,快捷高效交付应用。

一,Docker核心技术

Docker核心概念:

1)镜像Image,应用和依赖打包生成的文件。

2)容器Container,运行应用的实例。

3

官方对Docker的定义是这样的:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

那么Docker相对于传统的虚拟机技术有哪些优势呢?我主要从以下六个方面来阐述说明。


一、更高效的利用系统资源

docker对系统资源的利用率更高,无论是应用执行速度,内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机往往可以运行更多数量的应用。


4

你好,docker最大的贡献是使容器得到了普及。下面是我的视频讲解。

{!-- PGC_VIDEO:{\"thumb_height\": 1088, \"vid\": \"v02016db0000bs3io1r8glgmoq4jvu9g\

5

Docker最大的优势是将开发、测试和生产运行环境统一,省去了繁杂的部署步骤,动态扩容非常方便。

解放了运维

在没有容器化部署上线的岁月,运维人员最频繁的工作内容是申请一台服务器,下载shell脚本执行安装,修改配置文件,安装常用的扩展组件,一系列操作整完,要浪费好多时间。

安装步骤一致的服务器,出现莫名其妙的部署问题,排查问题困难,主要原因是运行环境存在些微的差别。

自从docker出现以后,运维的工作从安装师傅,变成了和程序员类似的脚本工程师,k8s和rancher等工具提供了非常方便的命令行客户端和图形界面。

减少了环境不一致的问题

之前,程序员开发代码经常发现开发环境没有问题,到了生产环境就异常。

6

一、Docker容器的好处

用一句话概括就是就是,Docker在正确的地点,正确的时间,顺应了正确的趋势,即高效的构建应用。现在我们的开发需要能够在云平台上方便快捷的运行创建应用,也就是说必须能够脱离底层机器,同时达到 \"Build,ship and Run Any App, Anyway\" 目的。因此,我们需要创建一种分布式应用程序的方式,这也是Docker所能提供给我们的。



举个简单例子:假设用户准备做一个基于LAMP(Linux+Apache+MySQL+PHP)组合来运维一个网站。

7

以我的使用经验来看,docker在部署,分发方面的易用性要比systemd和windows service都要容易的多,而且二进制文件的热覆盖和快速重启也比二者方便的多

8

说起docker就得说起虚拟机,它比虚拟机资源耗费少,应用隔离,部署方便。

9

Docker可以轻松创建,运行和分发应用程序。 应用程序打包了运行应用程序所需的所有内容。 该概念保证容器可以在每个docker运行环境上运行。

Docker的优势

再生性

使用Docker时,可以确保软件产品(应用程序,数据分析,预测模型等)在所有docker运行时环境中运行。因为容器包含运行工程所需的一切,使得货物更加强大。 它不仅分发代码,还分发环境。

一致性

10

Docker的应用场景

Web 应用的自动化打包和发布。

自动化测试和持续集成、发布。

在服务型环境中部署和调整数据库或其他的后台应用。

从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。


  • Docker 的优点Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。

  • 通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

  • 1、快速,一致地交付您的应用程序Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。
  • 使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。

  • 2、响应式部署和扩展Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。

  • 3、在同一硬件上运行更多工作负载Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。(回答转载自乐字节)

最后学习docker的话推荐一个不错的教程;B站搜索BV1RX4y1g7uR

Tags:docker,服务器端,原有,区别