簡體   English   中英

訪問docker swarm worker節點上的服務列表

[英]Access to service list on docker swarm worker node

我正在使用docker-API模塊來訪問服務列表和副本信息。 它在群體模式和管理器節點上效果更好。 但是,如果應用程序在工作程序節點上運行,則會出現以下錯誤“意外-該節點不是群集管理器。請使用“ docker swarm init”或“ docker swarm join”將該節點連接到群集並重試”。 以下是我的代碼,

const Docker = require('node-docker-api').Docker
const docker = new Docker({ socketPath: '/var/run/docker.sock' })
const services = await docker.service.list()

通過為工作節點提供任何選項或權限,是否有可能在兩個節點上獲得服務列表? 還可以通過使用docker-compose或kubernetes運行應用程序來獲得嗎?

正如docker docs所述

輔助節點參與Raft分布式狀態,不進行調度決策或不提供群模式HTTP API

可能的解決方案:

  • 您可能考慮在群體拓撲中僅運行管理器節點。

  • 或者,您可以對基於node.js的--constraint node.role==manager服務使用放置約束 --constraint node.role==manager

這樣,您的服務容器將僅在服務於集群模式HTTP API的管理器節點上運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM