首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这年头,环境搭建安装应用有了conda不够,还要用docker

很显然,现在的世界,已经不是十几年前的世界了。现在不是一个人单打独斗的年代了,假如十几年前还可以做孤胆英雄,独行天下闯荡江湖。那么那个年代早已过去了,现在我们的一言一语,一举一动每个行为都牵扯到千千万万的人,牵扯到方方面面的经济链。哦,我没跑题,我说的就是软件应用。

现在的软件应用——开源的应用或库——早已经不是一个可执行文件或独立安装文件的问题了,总是缠缠绕绕牵牵扯扯的,跟个小屁孩或黏人小姑娘一样依赖心大,不是需要这个依赖,就是要求那个。另外,机智客觉得现在的每个软件也各自还挺有个性,跟现在很多大龄单身人或现在年轻人一样,要求多,个性强,彼此还不能宽容容纳别的人别的情况,而且不同的软件版本都有不同的兼容性。然而,大家是要在一个环境(主机系统)里住着。

所以现在的软件应用或第三方库,特别繁琐。所以我们以往在Python中安装第三方库的时候,常常会碰到这个库的版本只兼容以前的版本,那个库还要依赖另外一个库,各种情况。为了解决各个软件库不兼容的杂乱情况,我们可以用Anaconda来建立环境隔离各个独立的应用,特别是人工智能深度学习应用。这个在我们以前,机智客介绍过不是一次两次了。

比如我们要安装一个软件,如果不用conda的话,这个软件可能和另外的以前的软件冲突。比如软件版本冲突。为了能够相安无事,我们就为一个项目新建一个虚拟环境,然后在独立的环境中安装各种这个软件需要的各种依赖和第三方库,特别是相应的版本要准确。

不过,虽然好不容易在一个环境里能待了,可是如果要迁移,如果要在其他地方安装,依然要解决大量依赖和库的繁琐问题。那种剪不断理还乱的纷扰问题,依然存在。因此,Docker就应运而生了。这是一个开源的应用容器引擎,既然是容器,那么就是装东西的,而这个东西就是应用,也就是允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上。

瞧,这样一来,就把问题解决了。就好比生活在现代化社会的我们出个门,就不一定就非得要身份证钥匙钱包各种各样东西了,我们把这些东西“打包”到手机这个容器里就可以了,到哪儿都可以用手机这个容器里的东西来证明来验证(嗯,不机智的机智客这个比喻打的不恰当,各位将就着看吧)。Docker就这样解决了应用需要大量依赖包打包的问题。

Docker这个东西,容器是完全使用沙箱机制,彼此间独立,没接口。可以实现虚拟化。可以说解决了很多现实的问题。另外Docker也不是和Anaconda互不打扰。Docker用的很多,不仅可以打包开发者的应用,还可以打包封装Anaconda环境。这下连环境配置都省了,是不是更爽呢?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211217A02UFI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券