云计算:何时合理使用Docker?

时间:2019-02-05 19:19:37

标签: python docker

我有一个运行时间很长的python脚本,无法并行化(因此它是单线程的=仅在一个进程中运行)。

  • 此作业在我自己的计算机上运行几天。
  • 它没有从任何GPU支持中受益。
  • 为了进行分析和参数优化,我假设要多次运行此作业;每次使用不同的参数可能需要10到20次。
  • 由于我自己现有的计算机资源有限,因此我想使用功能强大的云CPU来完成此任务。
  • 如果我意识到云CPU确实比我自己的CPU快得多,我可能会将作业从AWS EC2(Amazon Web Services)到便宜的固定费率解决方案,例如Hetzner。

在这种用例中:将我的设置放入docker容器有意义吗?

还是这个任务不能证明在docker / docker compose等方面进行工程设计和学习曲线的合理性?

2 个答案:

答案 0 :(得分:1)

好吧,由于某些要在此处列出的元素,请确保您不需要使用docker

  • 使用Docker在封装环境中使用是合理的,以获取安全性,并且在容器进程之间进行受控访问。
  • Docker的另一个共同点是容器开发的持续集成/复制方面,例如,使用Kubernetes创建可扩展的Docker容器或使用Jenkins轻松部署,确实是一件好事。
  • 您可以在此处了解更多信息:https://www.linode.com/docs/applications/containers/when-and-why-to-use-docker/

现在,由于您的应用程序不需要它,因此Docker并非可行。另一个建议是,如果您需要多次运行,并且每次执行之间仅存在参数差异,那么对它进行并行处理以享受功能强大的CPU确实非常有益。

答案 1 :(得分:1)

Docker将使您更轻松地在云中运行您的应用程序,因为您将能够更轻松地切换机器。此外,它使运行 cheaper 变得容易,因为您不必花很多时间来旋转VM,并且可以便宜,轻松地降低VM的运行速度,因为只需知道 docker run ,无需执行特定的python或yum安装步骤即可引导程序。