kpx*_*pxn 10 heroku node.js docker docker-compose
我现在有一个简单的应用程序包括几个微服务(数据库,前端节点的应用程序,用户服务等),每一个都有自己Dockerfile和docker-compose.yml文件,让他们都起来上的本地部署环境。所以一切正常docker-compose up。
对于生产,我正在寻找不支持 Docker Compose 的 Heroku(对其他 PaaS 开放)。不是特别好,但现在可以忍受。
问题是在本地部署 Docker Compose 时,不同的服务通过其主机名自动链接(如果 mongo 数据库服务称为“mydatabase”,我可以mongodb://mydatabase/whatever在我的其他服务中进行)。
那么,问题是,Heroku 上的这些链接会发生什么?在这种情况下,让不同服务在开发和生产之间保持一致的最佳实践是什么?
谢谢!
Docker compose 创建了一个 docker 虚拟网络,它允许您使用容器名称作为主机名连接容器。Heroku 不直接支持 docker-compose,因为 Docker compose 真正用于在您自己的机器上进行本地开发,而不是用于生产。
对于生产 Docker 有Docker swarm,它与 Docker compose 非常相似,但适用于生产环境。您可以使用相同的 docker-compose 文件(在 swarm 中称为 stackfile)在 swarm 上进行部署。在 docker swarm 中,您可以使用相同的服务名称连接您拥有的容器,就像在 docker-compose 中所做的一样。
Heroku 通过DockerHero 附加组件支持 Docker swarm ,您可以使用它来连接 Docker 容器并在 Heroku 上运行。
| 归档时间: |
|
| 查看次数: |
3156 次 |
| 最近记录: |