docker对于非webapp应用程序(例如Python脚本)如何有用?与LXC / LXD相比,使用它有什么优势?

Gre*_*reg 3 python containers lxc docker lxd

我试图了解docker在webapp空间之外的用途。

例如,如果某人想要运行一个Python脚本,该脚本每12小时下载一次全球天气数据,为什么他们要使用docker?

在Linux LXC / LXD容器中使用docker有什么优势?

我正在努力了解使用Docker的好处。

Der*_*ley 6

例如,如果某人想要运行一个Python脚本,该脚本每12小时下载一次全球天气数据,为什么他们要使用docker?

在这种情况下,我不会。设置cron作业以运行脚本。

在Linux LXC / LXD容器中使用docker有什么优势?

Docker最初是建立在LXC容器之上的。从那时起,它已移至新的标准libcontainer。

这里的主要好处是与更大的生态系统的跨平台兼容性。

带有lxc的Linux容器世界可能仍然占有一席之地,但是Docker正在迅速将容器带给所有人,而不仅仅是Linux用户。

我正在努力了解使用Docker的好处。

对我来说,我在docker中看到的最大优势在于我的开发工作。我不再担心需要较旧的运行时库和依赖项的较旧项目。全部封装在docker中。

然后是生产扩展和部署的故事。借助围绕docker的社区和用户群,几乎每种情况都有简单的解决方案-从一台服务器部署到自动扩展和netflix级的东西,这些我将永远无法接近。

我只是发现很难在Webapp服务器上下文之外理解Docker

对于可以连续运行的任何应用程序或流程进行更广泛的思考,为其他应用程序使用提供API或服务。是的,它通常是基于Web的服务,但是任何启用TCP / IP或UDP的进程都应该能够工作。

数据库系统,缓存系统,键值存储,Web服务器……任何始终运行的进程,可以通过TCP / IP或UDP提供API。

这里最大的好处是封装了服务及其所有的运行时依赖项,就像我之前所说的那样。

需要在服务器上运行MongoDB 2.3和3.2?没问题。它们都在单独的容器中,可以独立运行。

想要为此应用程序运行mysql,并为该应用程序运行mongo?完成。

容器化功能在帮助使应用程序彼此分离以及减少“我的机器上的工作”问题方面具有强大的作用。