当前位置:  开发笔记 > 编程语言 > 正文

使用docker-compose和多个存储库

如何解决《使用docker-compose和多个存储库》经验,为你挑选了1个好方法。

我目前正在努力部署我的服务,我想问一下,当你必须处理多个存储库时,正确的方法是什么.存储库是独立的,但要在生产中运行,一切都需要启动.

我的设置:

Git存储库后端:

后端项目导轨

docker-compose:backend(公开3000),db和redis

Git Repository Frontend

Express.js服务器

docker-compose :(暴露4200)

两者都可以独立运行,测试可以由CI执行

用于生产的Git Repository Nginx

需要连接到其他两个服务(相同的docker网络)

将请求转发给正确的服务

我已经尝试将这两个服务作为子模块包含到Nginx存储库中并使用nginx repo的docker-compose,但我对此并不满意.



1> gvilarino..:

您可以为要运行的每个服务创建CI构建和推送映像,并让生产环境运行所有3个容器.

然后,您的生产docker-compose.yml将如下所示:

lb:
  image: nginx
  depends_on:
    - rails
    - express
  ports: 80:80

  rails:
    image: yourorg/railsapp

  express:
    image: yourorg/expressapp

请注意,docker-compose不建议用于生产环境; 您应该考虑使用分布式应用程序包(这仍然是一个实验性功能,将在版本1.13中发布到核心)

或者,您可以使用类似工具ansible或bash脚本来编排容器; 只需确保您创建一个docker网络并将所有三个容器连接到它,以便他们可以找到彼此.

编辑:由于Docker v17和DAB的弃用支持Compose文件v3,对于单主机环境来说,似乎docker-compose是运行多服务应用程序的有效方式.对于多主机/ HA /集群化方案,您可能希望将Docker Swarm用于自我管理解决方案,或者使用Docker Cloud进行更多PaaS方法.在任何情况下,我都建议你在Play-with-Docker中试用它,这是一个官方的在线沙箱,你可以在那里分出多个主机并玩一个群集群,而不需要自己开箱子.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有