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

How is docker useful for non webapp applications (e.g. Python scripts)? What is the advantage of using it over LXC/LXD?

我想了解 docker 在 webapp space 之外有何用处。

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

使用 docker 到 Linux LXC/LXD 容器有什么好处?

我很难理解使用 Docker 的好处。

If for example someone wants to run a python script which downloads global weather data every 12 hours, why would they use docker?

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

What is the advantage of using docker to Linux LXC/LXD containers?

Docker 最初构建在 LXC 容器之上。从那时起,它已转向更新的标准 libcontainer。

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

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

I am struggling to understand the benefits of using Docker.

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

然后是生产扩展和部署的故事。围绕 docker 的社区和用户群,几乎所有场景都有简单的解决方案 - 从一台服务器部署到自动缩放和我永远不会接近的 netflix 级别的东西。

I'm just finding it difficult to understand Docker outside of a webapp server context

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

数据库系统、缓存系统、键值存储、Web 服务器...任何始终 运行ning 进程提供 API over TCP/IP 或 UDP 的任何东西。

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

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

想要 运行 mysql 这个应用程序, mongo 这个应用程序?完成。

容器化在帮助保持应用程序彼此分离以及帮助减少 "works on my machine" 问题方面非常强大。