我想使用以下部署架构。
这三个是AWS上的三台不同的主机。在开发过程中,我使用了docker,并且能够在我的本地机器上运行这三个。但我现在无能为力,因为我想将这三个分成三个独立的主机并运行它。任何指导,线索,参考将不胜感激。我最好使用docker来做到这一点。
答案 0 :(得分:0)
如果你真的坚持在各个主机上保持服务分开,那么没有什么可以阻止你在Docker安装的EC2主机上使用你的容器nginx / uswgi,你甚至可以使用一个很好的CoreOS AMI安全的Docker实例预加载(https://coreos.com/os/docs/latest/booting-on-ec2.html)。
对于数据库,在AWS RDS上使用PostgreSQL。
如果您正在运行容器,您还可以查看AWS ECS,它是亚马逊容器服务,这是我最初的建议,但我看到您希望所有这些服务都在单独的主机上。
答案 1 :(得分:0)
你可以使用docker stack在swarm中部署应用程序,
将其他2个主机作为worker加入,并使用以下选项
https://docs.docker.com/compose/compose-file/#placement
deploy:
placement:
constraints:
- node.role == manager
将节点角色更改为manager或worker1或workern,这将限制服务在单个主机上运行。 如果你愿意,也可以使用vpn使这更安全