【问题标题】:What is the benefit to use Docker for Django and Channels?将 Docker 用于 Django 和 Channels 有什么好处?
【发布时间】:2019-06-09 15:33:09
【问题描述】:

我正在使用 Channels 开发一个 Django Web 应用程序。虽然我在关注这个 tutorial ,但需要安装 Docker。

我正在 windows 10 HOME 上开发 WSL,所以安装 Docker 真的很痛苦。

我刚刚发现了 Docker,对此我有点困惑,我知道它是一种便于以后在 Web 主机上部署 Web 应用程序的工具。但我不确定。

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

如果我在 Ubuntu 操作系统上开发,我的痛苦会减轻吗?

谢谢,

【问题讨论】:

  • 如果你想感觉自己是人类,请不要在 Windows 上使用 docker。
  • 他们使用 docker 只是为了避免安装 redis。您可以改为将 Redis 安装到主机上。
  • @FUNNYDMAN 为您解答 :)
  • @Bunyk 谢谢你的回答!在虚拟主机的服务器上安装 Redis 是否复杂?
  • 还有,你能告诉我 Ubuntu 是否更容易使用 Docker 吗?我的意思是,在 Ubuntu 工作站上。

标签: django docker web-hosting


【解决方案1】:

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

迁移到 Docker 将为您带来以下优势:

  • 易于部署 - 您无需提供有关如何安装应用程序、依赖项并将它们链接在一起的手册。只有如何安装 Docker(顺便说一句,Windows 很痛:)
  • 隔离 - 您的服务获得隔离网络,不会打扰主机
  • 轻松升级 - 只需推送新映像即可
  • 分解 - 使用 docker-compose 和其他工具,您将能够将应用程序拆分为服务并单独维护它们
  • 扩展 - 通过适当的设计,k8s 等工具将允许您通过添加服务副本轻松扩展应用程序

另一方面,在 Windows Docker 上会产生额外的开销,不像 Linux 是在 Linux 内核之上实现的,你还需要 Win10 Professional 来享受 Docker 而不是 docker 工具箱。

此外,Windows 在自动包管理方面不太好,在许多情况下为 Windows 安装软件不能像 apt-get install whatever 那样简单,因此您失去了 Docker 的另一个好处 - 通过 Dockerfile 轻松准备系统。

如果你打算只停留在 Windows 上,根据我自己的经验,我可能建议迁移到 Docker,因为我个人发现没有 VirtualBox/Ubuntu 很难使用。

【讨论】:

  • 非常感谢您的完整回答!我可以问你滥用吗:我正在使用 redis-server(用于 websocket backstore)和 virtualenvwrapper 来开发我的 Django Web 应用程序。目前我对 Docker 了解不多(我正在学习),但是,你能告诉我是否应该将所有这些开发都包含在 Docker 中吗? :-) 如果你能照亮我,再次感谢。
  • redis 因为大多数数据库都很容易包装。只需使用官方图像并将数据存储路径与用户/密码一起设置即可。在 Django 上,我无法评论 - 没有使用它
  • 非常感谢您的建议!
猜你喜欢
  • 2011-01-03
  • 2016-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 2021-01-13
  • 1970-01-01
相关资源
最近更新 更多