我希望能够在本地开发微服务,而且还能以最小的配置更改将其“推入”生产环境。我曾经在本地将所有微服务放入一个docker-compose
中。但我开始看到这可能不切实际。
新的想法是每个服务只有一个docker-compose。这并不意味着它将仅使用一个容器运行;它可能具有更多的内部空间(例如后面的一些数据存储区等)。
从新的 Angular 来看,让我们看一下由5个组件组成的众所周知的docker voting app example:
假设您想将此示例投入生产(因此,只有一个
docker-compose
是不可行的:)。别忘了,可能还会在基础之上添加更多与基础架构相关的组件(例如kibana,prometheus ...)。而且我们希望能够扩展所需的资源;我们使用例如一群。问题是:
docker-composes
还是多个? docker-compose
?示例: J 和 S 吗? (我不需要有关如何安装内容的详细信息,这个问题与顶级组织有关)
最佳答案
Docker Compose主要用于定义不同的容器,配置并使用单个命令使其可用(也用于排序)。因此,它最适合于本地开发,集成测试,并将其用作持续集成过程的一部分。
尽管不排除可以在生产环境中使用Docker compose,但我认为使用Kubernetes是一个很好的例子,它可以更好地控制扩展,管理多个容器。
该博客提供了一些示例场景进行尝试(以及许多其他有用的资源)
https://renzedevries.wordpress.com/2016/05/31/deploying-a-docker-container-to-kubernetes-on-amazon-aws/comment-page-1/#comment-10