将Docker用于Django和Channels有什么好处?

时间:2019-01-15 15:29:32

标签: django docker web-hosting

我正在使用Channels开发Django网络应用。当我遵循此tutorial时,需要安装Docker。

我正在Windows 10 HOME上使用W​​SL,因此,安装Docker确实很痛苦。

我刚刚发现Docker,对此我有些困惑,我知道它是一种工具,可在以后促进将Web应用程序部署在虚拟主机上。但是我不确定。

能给我您的建议吗?你能告诉我在我的项目中使用Docker是否真的很重要吗?

如果我要在Ubuntu OS上进行开发,我会减轻痛苦吗?

谢谢

1 个答案:

答案 0 :(得分:2)

以下是我自己的考虑,并不假装详尽的Docker评论。

迁移到Docker将为您带来以下好处:

  • 易于部署-您无需提供有关如何安装应用程序,依赖项以及将它们链接在一起的手册。仅限如何安装Docker(对于Windows而言,这很痛苦:)
  • 隔离-您的服务获得隔离的网络并且不会打扰主机
  • 轻松升级-只需推送新图像就可以了
  • 分解-借助docker-compose和其他工具,您将能够将应用程序拆分为服务并分别进行维护
  • 扩展-通过适当的设计,诸如k8s之类的工具将允许您通过添加服务副本轻松地扩展应用

另一方面,与在Linux内核之上实现的Linux不同,在Windows Docker上会增加额外的开销,您还需要Win10 Professional才能享受Docker而不是docker工具箱。

Windows在自动化程序包管理方面也不是很出色,在许多情况下,Windows的安装软件无法像apt-get install whatever那样简单,因此您失去了另一个Docker好处-通过Dockerfile轻松进行系统准备。

如果您打算仅在Windows上使用,则根据我自己的经验,我可能会建议您迁移到Docker,因为我个人觉得没有VirtualBox / Ubuntu很难使用。