首页 > 其他分享 >Docker介绍

Docker介绍

时间:2023-09-14 10:55:05浏览次数:37  
标签:容器 介绍 nginx 镜像 Docker 数据 docker

Docker介绍

什么是docker

Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新。 在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker

原理

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroupnamespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于 隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。它可以独立运行多种进程、多个应用,更加充分地发挥基础设施的作用,同时保持各个独立系统的安全性。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 版本开始,则进一步演进为使用 runCcontainerd

架构

  • runc 是一个 Linux 命令行工具,用于根据 OCI容器运行时规范 创建和运行容器。
  • containerd 是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集。

Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷

Docker 和传统虚拟化方式的不同之处

  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程
  • 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。
  • 传统虚拟化
  • Docker

总而言之: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

docker的好处

作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势

  • 更高效的利用系统资源

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

  • 更快速的启动时间

    传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。

  • 一致的运行环境

    开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 这段代码在我机器上没问题啊

    标签:容器,介绍,nginx,镜像,Docker,数据,docker
    From: https://www.cnblogs.com/zakun/p/docker-simple.html

相关文章

  • 关于 ui5-middleware-fe-mockserver Mock Server 的使用介绍
    @sap-ux/ui5-middleware-fe-mockserver是一个用于SAPUI5本地开发的中间件,它的作用是模拟后端服务,以便在没有实际后端服务器的情况下进行前端开发和调试。这个MockServer具有丰富的功能,可以帮助开发人员模拟不同的后端场景,包括模拟数据、模拟OData服务、模拟HTTP请求等......
  • 向量数据库简介和5个常用的开源项目介绍
    在人工智能领域,有大量的数据需要有效的处理。随着我们对人工智能应用,如图像识别、语音搜索或推荐引擎的深入研究,数据的性质变得更加复杂。这就是向量数据库发挥作用的地方。与存储标量值的传统数据库不同,向量数据库专门设计用于处理多维数据点(通常称为向量)。这些向量表示多个维......
  • Docker 使用
    Docker使用1.常见命令2.数据卷命令  3.自定义镜像命令   4.自定义网络命令  5.测试脚本dockerpsdockerimagesdockerrun-d--nameweb1-p8888:8888--networkhmallweb1:1.0--restart=alwaysdockerbuild-tweb1:1.0.dockerinspectqui......
  • SAP ABAP Dump Analysis(ST22) 工具的使用和背景介绍
    笔者在SAP中国研究院16年的工作生涯里,曾经在多个产品开发和产品支持团队工作过。产品支持(ProductSupport)团队的职责就是分析和处理SAP客户提交的Incident.不少客户提交的Incident只能在客户的生产系统上重现,而我们SAPSupport工程师是不允许直接在客户生产系统进行......
  • docker 容器的导出和导入
    环境win10导出容器可以看出来导出的文件在当前ps目录导入容器接下来,我把这个tar文件拷到ubunto服务器尝试一下导入将文件上传到服务器服务器当前环境服务器当前没有任何容器执行导入命令结果出现如下报错:Errorresponsefromdaemon:Untarexitstatus1archi......
  • 《Docker与Kubernetes容器运维实战》简介
    #好书推荐##好书奇遇季#《Docker与Kubernetes容器运维实战》已经出版。本书帮助读者系统掌握Docker与K8s运维技能。 本书内容 本书分两部分系统介绍Docker与Kubernetes的运维技术。(1)Docker部分包括:全面认识Docker、初步体验Docker、Docker基本管理、Docker仓库、数据管理、......
  • docker 尝试把.netcore项目打成镜像
    添加国内镜像https://blog.csdn.net/qq_44797987/article/details/112681224生成Dockerfile文件打开VisualStudio右键Web项目,添加docker支持执行命令验证......
  • Vectorworks 2022下载_Vectorworks2022SP3(3D建模软件) 功能介绍
    Vectorworks是工业设计软件全家桶其中的一款,参与到整个行业的三维图像一键设计和内部结构优化布局的过程之中,并且也会很快参与到页面功能创建,机械工程设计以及空间照明情况等方面的妥善安排,当然用户完全可以根据平台自身情况做好充足的渝北工作,以形成本地工作效率上的统筹优化安排......
  • Vectorworks2022中文版下载_Vectorworks2022最新下载 新功能介绍
    Vectorworks2022SP2是一款十分好用的3D建模设计软件,它给许多行业的人士带来了极大的帮助和便利。有了这款软件后,设计师们可以轻松解决眼前的问题,同时也是非常的适合建筑师在完全集成的BIM工作流程中进行素描、绘图和建模,并且该软件内还有着大量的实用工具,比如说草图、模型、分析......
  • vectorworks2022中文版下载(三维建模设计软件) 新功能介绍
    Vectorworks是一款功能强大的3d建模工具,被广泛应用于建筑、景观、灯光、机械等领域,软件可以跨平台操作,是欧美及日本等工业发达国家设计师的首选工具软件。Vectorworks提供了许多精简但强大的建筑及产品工业设计所需的工具模组;在建筑设计、景观设计、舞台及灯光设计、机械设计及渲......