首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何管理码头上的多个项目?

如何管理码头上的多个项目?
EN

Stack Overflow用户
提问于 2018-04-03 10:59:14
回答 2查看 754关注 0票数 4

在我们公司的7个项目中,每个项目都是基于码头的。每个项目都包含基本服务,如MySQL、Nginx、PHP。一些项目与其他项目进行沟通。由于同一端口上有许多服务,所以我们为每个项目制作了新的对接主机(对接机)。从这里开始,很少有问题出现:

  • VirtualBox为每个Docker主机分配随机IP,取决于执行顺序。
  • 很难从一个项目切换到另一个项目,需要始终设置不同的shell env。很容易犯错误。

嗯,我正在寻找更多的企业解决方案来管理许多码头机器。或者一种能帮我解决目前情况的技巧。

EN

回答 2

Stack Overflow用户

发布于 2018-04-03 11:38:49

去年夏天我也遇到过类似的问题。

首先,我开始将我的项目部署到群集集群作为服务,而不是集群的几个对接VM。这使我能够只使用服务ID来处理服务。重要的是,如何将项目划分为服务,这部分可能会很麻烦,取决于您的项目。

https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/

然后,我在群管理器上构建了我的配置和监控软件,并使用它.您可以在码头管理员上使用自动化工具来控制服务。

票数 1
EN

Stack Overflow用户

发布于 2018-04-05 08:24:16

虚拟机消耗资源,如果不一定要避免,最好避免。相反,您可以将项目部署在码头上,大量使用裸金属。

但是,因为每个项目都有一个入口点,需要可以从外部世界访问(即https://site1.comhttps://site2.com),所以不能为同一群中的所有前端服务公开相同的端口(44380)。为此,您可以使用反向代理(如HAProxy或Nginx ),根据主机名将请求转发到正确的服务。反向代理也可以是蜂群中的服务。在这种情况下,您不应该再公开项目的端口。

反向代理还有许多其他的优势,比如SSL终止(这使得SSL证书管理更加容易)。

如果将项目添加到相同的自定义网络中,则来自不同项目的服务可以安全和直接地通信,使用它们的对接服务名称和内部端口(即80)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49628395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档