我想弄清楚运行多个的最有效方式(内存和空间) 具有复杂依赖性的服务。
假设我们有一个包含3项服务的项目:
因此,如果您为每个图像创建一个单独的图像,您将最终得到这个结构:
库层不共享任何文件(尽管实际上是共享库)。
分享资源的最佳策略是什么?是否可以为所有3项服务使用一个图像? (将库A,B,C存储在一个图像层中)
UPD
我们在一台机器上运行所有服务,而不是在集群上运行
更新2
这是一个example(扰子:不共享图层)
答案 0 :(得分:0)
如果您遵循面向服务的面向架构,那么每个服务都应该有自己的映像。 Docker图像很便宜,但是如果你有一个庞大的图像并在所有服务中使用它,那就不太理想了。
此外,如果您想升级特定于服务的库,那么您将不会与其他服务有依赖关系。