首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >维护者API中的SwarmID

维护者API中的SwarmID
EN

Stack Overflow用户
提问于 2021-03-05 05:09:20
回答 1查看 359关注 0票数 1

保持API有此端点https://{portainer_url}/api/stacks/{id}

返回模式(使用示例中的响应)

代码语言:javascript
复制
{
  "Id": "myStack_jpofkc0i9uo9wtx1zesuk649w",
  "Name": "myStack",
  "Type": 1,
  "EndpointID": 1,
  "EntryPoint": "docker-compose.yml",
  "SwarmID": "jpofkc0i9uo9wtx1zesuk649w",
  "ProjectPath": "/data/compose/myStack_jpofkc0i9uo9wtx1zesuk649w",
  "Env": [
    {
      "name": "MYSQL_ROOT_PASSWORD",
      "value": "password"
    }
  ]
}

我希望使用从响应返回的"SwarmID“来获取节点url。

但是,通过检查SwarmID从docker node ls返回的结果,不存在响应给出的匹配SwarmID。

我想知道SwarmID到底是由维护者返回的吗?或者任何其他方法都可以帮助我获得某个特定堆栈部署到的节点?

EN

回答 1

Stack Overflow用户

发布于 2022-01-18 08:07:07

可以在群集初始化后查看SwarmID,在manager节点中使用docker命令,作为我们可以在码头文档中看到

代码语言:javascript
复制
$ docker info
<...>
ClusterID: 9vs5ygs0gguyyec4iqf2314c0
Managers: 1
Nodes: 1
Data Path Port: 7777
<...>

clusterId对应于需要创建堆栈:https://app.swaggerhub.com/apis/deviantony/Portainer/1.23.2/#/stacks/StackCreate时在portainer中请求的swarmId

您可以通过portainer对docker信息执行GET请求:

代码语言:javascript
复制
request({
        url: PORTAINER_URL + '/api/endpoints/' + ENDPOINT_ID + '/docker/info',
        method: 'GET',
        headers: {
            'Content-Type': ' application/json',
            'Authorization': 'Bearer ' + bearer
        }
    }, function (error, response, body) {...});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66487127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档