我想知道具有LAMP堆栈的基于Docker的开发环境的最佳架构。
要求
当前架构
一如既往有专业人士。虽然这很容易维护,但我们无法真正部署具有专用docker-compose.yml文件的特定项目,而且我们也无法获得“微服务”的所有好处,例如替换PHP /特定站点的MySQL版本。
问题是我们如何使用每个项目的docker-compose.yml文件,但仍然有多个项目同时运行(因为所有项目都使用端口80)。 是否更好(甚至可能?)每个项目使用随机端口并在这些Web容器之上运行代理层?
此用例的任何其他选项或常见设计模式?
感谢。
答案 0 :(得分:1)
简短的回答是肯定的。如果没有指定端口,Docker默认会分配随机端口。对于映射,我会使用:https://github.com/jwilder/nginx-proxy
你可以拥有类似project1.yml project2.yml ....的东西,并启动容器将是这样的:
docker-comppse -f project1.yml up
但是,我不确定你为什么要这样做。你可以使用像Rancher这样的东西,将我的开发主机拆分成多个小型开发环境。