Mat*_*ger 22 docker microservices docker-compose
我目前正在努力部署我的服务,我想问一下,当你必须处理多个存储库时,正确的方法是什么.存储库是独立的,但要在生产中运行,一切都需要启动.
我的设置:
两者都可以独立运行,测试可以由CI执行
我已经尝试将这两个服务作为子模块包含到Nginx存储库中并使用nginx repo的docker-compose,但我对此并不满意.
gvi*_*ino 17
您可以为要运行的每个服务创建CI构建和推送映像,并让生产环境运行所有3个容器.
然后,您的生产docker-compose.yml将如下所示:
lb:
image: nginx
depends_on:
- rails
- express
ports: 80:80
rails:
image: yourorg/railsapp
express:
image: yourorg/expressapp
Run Code Online (Sandbox Code Playgroud)
请注意,docker-compose不建议用于生产环境; 您应该考虑使用分布式应用程序包(这仍然是一个实验性功能,将在版本1.13中发布到核心)
或者,您可以使用类似工具ansible或bash脚本来编排容器; 只需确保您创建一个docker网络并将所有三个容器连接到它,以便他们可以找到彼此.
编辑:由于Docker v17和DAB的弃用支持Compose文件v3,对于单主机环境来说,似乎docker-compose是运行多服务应用程序的有效方式.对于多主机/ HA /集群化方案,您可能希望将Docker Swarm用于自我管理解决方案,或者使用Docker Cloud进行更多PaaS方法.在任何情况下,我都建议你在Play-with-Docker中试用它,这是一个官方的在线沙箱,你可以在那里分出多个主机并玩一个群集群,而不需要自己开箱子.
| 归档时间: |
|
| 查看次数: |
7216 次 |
| 最近记录: |