【问题标题】:Production hosting for small scale website with docker-swarm使用 docker-swarm 为小型网站提供生产托管
【发布时间】:2018-01-21 17:55:27
【问题描述】:

我们有一个旧的 PHP 网站,我们用 elixir 重写了它。上一页以“老式”方式托管,代码部署到 FTP,通过 phpmyadmin 管理 sql。

我在本地使用docker-compose 来运行数据库。

我的计划是仅使用容器在 DigitalOcean 上托管新项目。我最近试用了docker-machine,可以像使用本地机器一样使用 DO VM。我还阅读了有关 docker-swarm 的信息,但它适用于具有多个容器的多个 VM,用于同一服务。

我最初的想法是只创建 1 个 docker-swarm 管理器并通过 docker-machine 连接到该管理器并执行 docker-compose 命令。

我们的目标是有一个可以自动化的解决方案,并且可能有 1 或 2 个备份容器。但我会避免使用多个虚拟机,因为该网站每天只有几百个访问者。

这是一个可行的解决方案还是有更简单的方法?

【问题讨论】:

    标签: docker docker-compose docker-swarm docker-machine


    【解决方案1】:

    一些快速指南:

    1. 即使只是一台服务器,我也建议在您获得新功能时启用 Swarm,并且它默认设计为保持容器运行,并使更新/替换该容器的过程更容易(可能实现零停机)。李>
    2. 如果你在 DO 服务器上使用 Swarm,你可以使用docker stack deploy 命令并且你会继续在本地使用docker-compose,它们可以共享相同/相似的撰写文件。 docker-compose命令只用于本地test/dev,不理解Swarm,但是两者的文件格式是一样的。
    3. 没有理由使用两台甚至三台服务器。三位经理将使其成为 HA。如果您需要降低成本(假设网站在 1GB 内存中运行),您可以使用 5 美元的服务器。
    4. 请记住,拥有多台服务器不仅仅关乎容量,还关乎可用性和容错能力。 Swarm 的伟大之处在于它被设计成可以像一台一样简单地运行 3 台服务器。命令与单个 VM 相同。
    5. 我不会使用 docker-machine,而只是尝试通过 store.docker.com 中的说明为您的 Linux 发行版安装,因为这样您可以更好地控制 Docker 版本。对于生产,您需要坚持使用稳定的季度版本(最新版本是 17.12)。

    【讨论】:

      【解决方案2】:

      如果您想避免手动配置,但仍要获得所需的高可用性和成本效益,请尝试运行 Jelastic 预打包的 Docker Swarm 模板:

      • 它具有内置的自动集群和扩展功能
      • 安装会自动执行,您可以通过直观的 UI 完全访问集群
      • 容器直接在裸机上运行,​​因此无需为每个服务预留完整的虚拟机(您可以选择要在其上运行项目的数据中心)
      • 根据实际消耗的 RAM 和 CPU 进行支付
      • 容器自动分布在不同的硬件服务器上,提高了可用性

      有关打包和安装步骤的详细信息,请参阅文章“Docker Swarm Auto-Clustering and Scaling with PaaS Power Armor”。

      【讨论】:

      • 截至 2019 年 3 月,我可以确认 jelastic 还没有为 Docker Swarm 做好生产准备——我尝试了多个供应商,但它导致了灾难。当您扩展或重新启动节点时,这种行为是不可预测的——在我们的例子中,IP 地址发生了变化,所有挂载的卷都消失了。
      • 补充一点,jelastic 在这篇文章之后已经联系我询问发生了什么,并表示他们将相应地改进平台,以确保其他人不会发生同样的事情.
      • 实际上在与 Meezaan-ud-Din 交谈后澄清了主要问题与 Docker 技术本身有关,因为它不支持在克隆 swarm 集群或迁移到另一个数据中心后更改 IP。更多详情可以在链接github.com/moby/moby/issues/34306找到。
      猜你喜欢
      • 2010-12-05
      • 2018-05-13
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      • 2016-05-10
      • 2012-09-30
      • 2023-03-19
      相关资源
      最近更新 更多