【Docker】Docker的应用包含Sandbox、PaaS、Open Solution以及IT运维概念的详细讲解

这篇具有很好参考价值的文章主要介绍了【Docker】Docker的应用包含Sandbox、PaaS、Open Solution以及IT运维概念的详细讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker有什么好用的应用,恒川的docker分享,运维,docker,paas,云原生,容器

前言

  Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。


📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。
📗本文收录于恒川的日常汇报系列,大家有兴趣的可以看一看
📘相关专栏C语言初阶、C语言进阶系列、恒川等,大家有兴趣的可以看一看
📙Python零基础入门系列,Java入门篇系列、docker技术篇系列、Apollo的学习录系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下哦!

一、应用

docker有什么好用的应用,恒川的docker分享,运维,docker,paas,云原生,容器

  有了docker这么个强有力的工具,更多的玩家希望了解围绕docker能做什么

二、Sandbox

  作为sandbox大概是container的最基本想法了 - 轻量级的隔离机制, 快速重建和销毁, 占用资源少。用docker在开发者的单机环境下模拟分布式软件部署和调试,可谓又快又好。
  同时docker提供的版本控制和image机制以及远程image管理,可以构建类似git的分布式开发环境。可以看到用于构建多平台image的packer以及同一作者的vagrant已经在这方面有所尝试了,笔者会后续的blog中介绍这两款来自同一geek的精致小巧的工具。
  Docker已经不仅仅是DevOps人员手中的神器了,每一个开发者都应该学会如何使用Docker。

三、PaaS

  dotcloud、heroku以及cloudfoundry都试图通过container来隔离提供给用户的runtime和service,只不过dotcloud采用docker,heroku采用LXC,cloudfoundry采用自己开发的基于cgroup的warden。基于轻量级的隔离机制提供给用户PaaS服务是比较常见的做法 - PaaS 提供给用户的并不是OS而是runtime+service,因此OS级别的隔离机制向用户屏蔽的细节已经足够。而docker的很多分析文章提到『能够运行任何应用的“PaaS”云』只是从image的角度说明docker可以从通过构建 image实现用户app的打包以及标准服务service image的复用,而非常见的buildpack的方式。
  由于对Cloud Foundry和docker的了解,接下来谈谈笔者对PaaS的认识。PaaS号称的platform一直以来都被当做一组多语言的runtime和一组常用的middleware,提供这两样东西

即可被认为是一个满足需求的PaaS。然而PaaS对能部署在其上的应用要求很高:

  • 运行环境要简单 - buildpack虽然用于解决类似问题,但仍然不是很理想
  • 要尽可能的使用service - 常用的mysql, apache倒能理解,但是类似log之类的如果也要用service就让用户接入PaaS平台,让用户难以维护
  • 要尽可能的使用"平台” - 单机环境构建出目标PaaS上运行的实际环境比较困难,测试工作都离不开"平台”
  • 缺少可定制性 - 可选的中间件有限,难于调优和debug。

  综上所述部署在PaaS上的应用几乎不具有从老平台迁移到之上的可能,新应用也难以进入参数调优这种深入的工作。个人理解还是适合快速原型的展现,和短期应用的尝试。
  然而docker确实从另一个角度(类似IaaS+orchestration tools)实现了用户运行环境的控制和管理,然而又基于轻量级的LXC机制,确实是一个了不起的尝试。
  笔者也认为IaaS + 灵活的orchestration tools(深入到app层面的管理 如bosh)是交付用户环境最好的方式。
  国内也已经开始出现基于Docker的PaaS。2015年3月11日,云雀Alauda云平台正式开启内测,对外提供基于Docker的PaaS服务

四、Open Solution

前文也提到docker存在disk/network不便限额和在较低版本kernel中(如RHEL的2.6.32)AUFS不支持的问题。

1. disk/network quota

  虽然cgroup提供IOPS之类的限制机制,但是从限制用户能使用的磁盘大小和网络带宽上还是非常有限的。
Disk/network的quota有两种思路:

  • 通过docker run -v命令将外部存储mount到container的目录下,quota从Host方向限制,在device mapper driver中更采用实际的device因此更好控制。
  • 通过使用disk quota来限制AUFS的可操作文件大小。类似cloud foundry warden的方法, 维护一个UID池,每次创建container都从中取一个user name, 在container里和Host上用这个username创建用户,在Host上用setquota限制该username的UID的disk. 网络上由于docker采用veth的方式,可以采用tc来控制host上的veth的设备。

2. RHEL 6.5

  这里简单介绍下device mapper driver的思路:
  docker的dirver要利用snapshot机制,起初的fs是一个空的ext4的目录,然后写入每个layer。每次创建image其实就是对其父image/base image进行snapshot,
  然后在此snapshot上的操作都会被记录在fs的metadata中和AUFS layer,docker commit将 diff信息在parent image上执行一遍.
这样创建出来的image就可以同当前container的运行环境分离开独立保存了。

五、Docker Datacenter

docker有什么好用的应用,恒川的docker分享,运维,docker,paas,云原生,容器

  Docker Datacenter将五个之前独立的产品组合在一起,使用统一的Docker管理接口:管理用的Universal Control Plane;安全方面的Content Trust;编排用的Swarm;容器运行时的Engine;以及Trusted Registry。目标是填补两处空白,一处是使用Docker在开发、测试、质量保证和生产环境间打包应用,另一处是容器管理还不直接的传统IT运维。

六、IT运维

这里简单理解一下IT运维的概念

  IT运维管理是时下IT界最热门的话题之一.随着IT建设的不断深入和完善,计算机硬软件系统的运行维护已经成为了各行各业各单位领导和信息服务部门普遍关注和不堪重负的问题.由于这是一个随 着计算机信息技术的深入应用而产生的新课题,因此如何进行有效的 IT 运维管理,这方面的知识积累和应 用技术还刚刚起步.对这一领域的研究和探索,将具有广阔的发展前景和巨大的现实意义

  所谓 IT运维管理,是指单位 IT 部门采用相关的方法、手段、技术、制度、流程和文档 等,对IT软硬运行环境、IT 业务系统和 IT 运维人员进行的综合管理
  企业将IT部门的职能全部或部分外包给专业的第三方IT外包公司管理,集中精力发展企业的核心业务。简单的说就是企业在内部专职IT运维人员不足或没有的情况下,将企业的IT外包服务流程,包括全部办公硬件、网络及外设的维护工作转交给专业从事IT运维的公司来进行全方位的维护。


如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下,谢谢大家!!!
制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。文章来源地址https://www.toymoban.com/news/detail-712915.html

到了这里,关于【Docker】Docker的应用包含Sandbox、PaaS、Open Solution以及IT运维概念的详细讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Ubuntu】安装docker,docker compose 以及部署一个docker应用

    大家好!在过去,已经分享了很多有关通过Docker部署应用的内容。今天,我将为大家详细介绍如何在Ubuntu系统上部署最新的Docker平台。 Docker是一个开源的容器化平台,它允许您将应用程序及其所有依赖项打包到称为容器的可移植单元中。 使用Docker,您可以在不同的环境中轻

    2024年02月14日
    浏览(39)
  • Docker安装Grafana以及Grafana应用

    安装 1、 卸载旧的版本 2、需要的安装包 3、设置镜像的仓库 更新yum软件包索引 4、安装docker相关的源 docker-ce 社区 ee 企业版 5、启动docker 6、使用docker version 查看是否安装成功 运行实例: 卸载 1、依赖卸载 2、删除资源 # /var/lib/docker docker的默认工作路径 基本操作 安装镜像

    2024年02月13日
    浏览(30)
  • 如何用python中Open3d库保存点云,包含强度信息

    用Open3d保存点云,并包含强度信息 为什么用open3d: 1、pcl库需要python2,而很多库python2不支持 2、open3d是在python3环境下执行的,且支持较多对点云的操作,文档也较多 存在问题:在使用open3d的时候,发现保存的点云没有强度信息 解决方式:将强度信息保存到colors属性上 具体

    2024年02月12日
    浏览(32)
  • React实战--利用甘特图和看板,强化Paas平台应用

    ​ 这是一篇 React 在 kintone 上的实战,我们需要利用看板和甘特图来来强化项目管理 app。另外这次用到了 webpack,想了解基本配置思路的可以看 这里 项目地址 GitHub - kintone-samples/SAMPLE-kintone-ganttchart-kanban-cn: project manager for kintone,using Gantt and Kanban     卡片上需要显示负责人、时

    2024年02月11日
    浏览(36)
  • Edge and Cloud Computing within open ecosystems for a seamless IT and OT integration

    当今自动化和制造业面临的最重要挑战之一是如何最好地收集、评估和处理数据。 “时间就是金钱”这句话尤其适用于自动化领域,因为生产或操作设备的任何停机时间都可能导致延误,从而导致高昂的成本。借助全面的数字监控系统,可以最大限度地减少甚至避免此类停机

    2024年02月02日
    浏览(39)
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。

    Docker是一个开放源代码的容器化平台,可以将应用程序及其依赖项打包到一个轻量级的容器中,以便在任何地方运行。以下是Docker的基本概念和优势: 基本概念: 镜像(image):Docker的基本构建块,是一个只读的模板,包含了运行容器所需的所有信息; 容器(container):从

    2024年02月11日
    浏览(44)
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用

    Docker 是一个开源的容器化平台,可以让开发者将应用程序和其所依赖的组件(如库、运行环境)打包成一个可移植、自包含的容器。这个容器可以在任何支持 Docker 的环境中运行,包括开发、测试、生产等环境。Docker 的基本概念包括以下几个方面: 镜像(Image):镜像是一个

    2024年02月10日
    浏览(41)
  • 介绍Docker的基本概念和优势,以及在应用程序开发中的实际应用

    Docker是一种开源的容器化平台,可以将软件包裹在一个独立的容器中,并提供一种轻量级、可移植和自包含的环境来运行应用程序。Docker的基本概念包括以下几个方面: 容器:容器是独立运行的软件包,包含应用程序和它所依赖的所有组件(例如库、环境变量等)。容器具有

    2024年02月04日
    浏览(54)
  • linux 内核资源配置--cgroups详解以及在docker中的应用

    1.1、cgroups 是什么 Linux cgroup (Control Groups)是 Linux 内核提供的一种机制, 用于限制进程组使用的资源(如 CPU、内存、磁盘 I/O 等) 。通过将进程组划分为层次结构,并将资源限制应用于不同层次的组,可以实现对系统资源的统一管理和限制。 cgroup 提供了一套 API,用于创建

    2024年02月16日
    浏览(48)
  • 【服务器】SSH 私钥报错 Permissions for ‘id_rsa‘ are too open. It is required that your private key

    (发现XShell自带的公私钥生成工具,生成的公私钥对不好使) 使用ssh-keygen生成公私钥对之后,直接在cmd命令行中进行连接: 得到 将公钥添加到服务器的authorized_keys之后, 报错如下 主要是因为本地的私钥文件 id_rsa 的权限太开放了 Windows环境下 在Windows本地环境下: 右键id

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包