<转载>在数据科学环境中使用 Docker 容器

容器是传统虚拟机的轻量级版本。它们不会占用您服务器上的大量空间,易于创建和消除,而且启动速度很快。它们还可以轻松地创建可重复使用的数据科学环境。

对于数据科学家来说,可以直接运行一个已经配备了执行特定分析所需的各种库和工具的容器,而无需花费几个小时在不同的环境中调试数据包或配置自定义的环境。这就是为什么 DataScience.com 使用 Docker 容器来处理该平台上的各种应用程序,例如用户可以启动独立的 Jupyter 和 RStudio 会话,其中已经配备了他们选择的库和工具。

什么是容器?

在 Docker 网站上,将容器定义为“一种标准化的软件单元”。那到底是什么意思呢?

容器就像它的名称一样:它包含一些内容。
在这里,软件容器包含运行软件应用程序所需的代码、框架和库。因为它只包含这些东西,所以就变得非常小;这意味着可以在一个操作系统上放置多个容器。这也意味着当您运行该软件的时候,会胸有成竹,因为您需要的一切都已经在那个容器里了。

不过,真正重要的是容器所带来的标准化和效率。您的团队不再需要为每个分析建立一个新的环境,而是将某些类型的分析所需的工具和数据包 (例如 scikit-learn、TensorFlow、Jupyter 等) 放入容器中,创建该容器的镜像,并让每位用户从该镜像中启动一个独立的、标准化的环境。

等一下,什么是镜像?

镜像实质上是在特定时间点运行的容器的快照,它可以作为其他容器的模板。所有正在运行的容器都来自一个镜像,您可以对任何正在运行的容器进行快照以创建新镜像。您也可以从该镜像中根据需要启动多个容器。这下明白了吧?

像 Docker Hub 这样的存储库包含数十万个镜像,可以免费下载。这当中肯定有一个镜像,其中包含你执行特定分析所需的工具。

如果您在 DataScience.com 平台上工作,那么要找到含有所需工具的镜像非常简单,只需在启动环境时从下拉菜单中选择合适的镜像即可。我们已经为深度学习、自然语言处理和其他数据科学技术创建了许多预先配置好的镜像,可用于我们平台上的 RStudio 和 Jupyter 会话。

为什么要将数据科学环境配置在容器中?

其中一个考虑因素就是速度。我们希望使用我们平台的数据科学家可以在几分钟内就启动一个 Jupyter 或 RStudio 会话,而不是几个小时。我们还希望他们拥有快速的用户体验,同时仍然在一个受监管的中心式架构(而不是在他们的本地机器上)中工作。每家公司的环境搭建和运行的过程各不相同,但在某些情况下,数据科学家必须向 IT 部门提交正式申请,并等待数天或数周,这取决于他们手头积压的工作。这给两个团队都带来了工作压力。

容器化对于数据科学和 IT 技术运维团队而言都有利。例如,在 DataScience.com 平台上,我们允许 IT 在管理仪表板中配置具有不同语言、库和设置的环境,并使这些镜像出现在数据科学家启动会话时的下拉菜单中。这些环境可以用于任何运行、会话、计划作业或 API。(或者您不必配置任何内容。我们提供了大量的标准环境模板供您选择。)

最终,容器从企业层面上解决了开展数据科学工作遇到的许多常见问题。IT 人员不再为每个分析创建定制的环境,不再需要标准化数据科学家的工作方式,不再需要耗费精力确保旧代码不会因为环境变化而停止运行,这让他们的压力大减。

文章转载自:Docker官方公众号,原文链接

Docker 企业版在中国由我们的战略合作伙伴阿里巴巴提供
联系阿里云销售人员获取 Docker 企业版,或访问阿里云市场在线购买

时间: 2024-08-03 03:25:13

<转载>在数据科学环境中使用 Docker 容器的相关文章

【Spark Summit EU 2016】经验分享:将SparkR用于生产环境下的数据科学应用中

本讲义出自Heiko Korndorf在Spark Summit EU 2016上的演讲,主要分享了R语言以及现实场景下使用R语言进行数据分析的应用案例,并且将引领大家使用SparkR扩展R语言应用,并介绍了SparkR1.X和2.X架构,并介绍了这两个版本的SparkR分别如何获取. 除此之外,Heiko Korndorf还分享了如何使用SparkR将数据科学与数据工程集成到一起,将SparkR用于生产环境下的数据科学应用中,并对于Spark无限发展空间的生态系统进行了展望.

IFTTT在开发环境中使用Docker的经验

本文讲的是IFTTT在开发环境中使用Docker的经验,[编者的话]IFTTT是"if this then that"的缩写,事实上是让你的网络行为能够引发连锁反应.让你使用更为方便,其宗旨是"Put the internet to work for you"(让互联网为你服务).Docker在IFTTT中也在开发实践,以下是Nicholas Silva的一些介绍. IFTTT是一款新兴的互联网工具型应用,正如他们给自己的介绍"If This Then T

生产环境中使用Docker Swarm的一些建议

本文讲的是生产环境中使用Docker Swarm的一些建议[编者的话]实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行.然而,面对Kubernetes,Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它们之中,Swarm是Docker原生的,同时也是最简单,最易学,最节省资源的,至少值得我们多了解一下.本文将介绍一些非常实用的建议. [深圳站|3天烧脑式Kubernetes训练营]培训内容包括:Kubernetes概述.架构.日志和监控,部

三个生产环境中使用Docker的案例

本文讲的是三个生产环境中使用Docker的案例[编者的话]本文为2017年初Docker线下见面会的记录,Solita.Zalando和Pipedrive公司做了Docker化经验分享,并对生产环境中使用Docker的细节进行讨论.本文还推荐了一些Docker生产环境中常使用的优秀工具. [3 天烧脑式 Docker 训练营 | 上海站]随着Docker技术被越来越多的人所认可,其应用的范围也越来越广泛.本次培训我们理论结合实践,从Docker应该场景.持续部署与交付.如何提升测试效率.存储.网

《数据科学实战手册(R+Python)》一第1章 准备你的数据科学环境

第1章 准备你的数据科学环境 数据科学实战手册(R+Python)本章涵盖如下内容: 理解数据科学管道 在Windows.Mac OS X和Linux上安装R 在R和RStudio中安装扩展包 在Linux和Mac OS X上安装Python 在Windows上安装Python 在Mac OS X和Linux上安装Python数据分析库 安装更多Python包 安装和使用virtualenv 简介传统意义上的食谱,就是作者擅长的烹饪菜谱,用于帮助读者学习新菜的做法.很多人相信,对于一份食谱而言,

在生产环境中使用Docker必须注意的事情

本文讲的是在生产环境中使用Docker必须注意的事情,[编者的话]本文以最近非常火的希特勒怒喷Docker的视频为线索,详细分析了Docker存在的一些问题和弱点,以及在生产环境中使用Docker所要注意的方面.这些问题包括隔离性.镜像安全.Docker缺省配置.发布及部署:文章的最后分析了微软最近在容器支持方面的动作. 我们不能否认Linux容器是一个非常强大的概念,它组合了众多优秀的Linux内核功能和Docker开源工具,任何背景知识的开发者都很容易使用. 在2016年容器峰会上,Brya

数据科学家必备工具有哪些?

当数据科学家需要使用某些软件时,其中一部分我们已经在之前的章节中做过介绍,这些软件涵盖了数据科学家所需要的基础专业内容.实际的工作范畴可能会超越求职时候的工作描述,这也是IT工作的常态之一.这在某种程度上是好的,因为它提供了学习新技能的机会,而这也是数据科学领域最引人入胜的方面之一. 在这一章中,我们会探索数据科学环境中常用的软件.不是所有在这里提到的软件都会在你的工作中用到,但了解它们会让你拥有更多选择.特别是我们会提到Hadoop套件的一些其他备选工具(例如Spark.Storm等),许多功

数据科学挑战重重 get新技能成当务之急

随着更多新兴工具和技术的出现,许多企业正在努力应对当今大数据和数据科学生态系统的复杂性. 根据TDWI(数据仓库研究所)的最新研究,专业数据科学家的短缺仍然是企业面临的数据科学的挑战之一. TDWI公司副总裁兼研究总监Fern Halper说:"我们经常听到很多组织表示,在数据科学环境中面临的最大挑战是找到合适的技术和工具." 该研究收集了超过300家企业的大数据和数据科学经验.大数据分析和数据科学经验这两个主题越来越融合,因为组织需要了解过去几年中收集大量数据的工作者. 此次调查的受

如何使用 Docker 快速配置数据科学开发环境?

如何使用 Docker 快速配置数据科学开发环境? 数据科学开发环境配置起来让人头疼,会碰到包版本不一致.错误信息不熟悉和编译时间漫长等问题.这很容易让人垂头丧气,也使得迈入数据科学的这第一步十分艰难.而且这也是一个完全不常见的准入门槛. 还好,过去几年中出现了能够通过搭建孤立的环境来解决这个问题的技术.本文中我们就要介绍的这种技术名叫Docker.Docker能让开发者简单.快速地搭建数据科学开发环境,并支持使用例如Jupyter notebooks等工具进行数据探索. 要使用Docker,我