Docker堆棧是一種將多個Docker服務組合為一個整體的方法。它允許用戶通過一個單一的配置文件來管理所有服務,與單獨管理每個服務相比,這使得快速部署和管理應用程序變得更加容易和高效。
version: '3.5' services: web: image: nginx deploy: replicas: 3 placement: constraints: [node.role == manager] db: image: postgres deploy: replicas: 1 placement: constraints: [node.role == worker] redis: image: redis deploy: replicas: 1 placement: constraints: [node.role == worker]
上面的代碼是Docker堆棧配置的示例。該堆棧由三個服務組成:web、db和redis。每個服務都有自己的鏡像,可以在配置文件中指定。對于web服務,我們將其擴展到三個副本,并將它們部署在具有manager角色的節點上。對于db和redis服務,我們將它們部署在擁有worker角色的節點上。
使用Docker堆棧可以使多個服務相互協作,并作為一個整體來運行,從而在部署和管理方面提供了更好的控制力和效率。