Docker API-如何加入网络?

Docker API-如何加入网络?,docker,docker-compose,docker-api,Docker,Docker Compose,Docker Api,这是API的文档: 您将看到,对于createcontainer方法,将显示标记为“NetworkingConfig”的JSON部分 本节完全没有描述,我也不知道如何表达我的需求,这相当于docker撰写: services: myservice: networks: - mynetwork networks: mynetwork: external: true 如何通过编程实现上述功能?因此答案是:这比只设置网络模式键更复杂(该键仅适用于一个网络) 要做到

这是API的文档: 您将看到,对于createcontainer方法,将显示标记为“NetworkingConfig”的JSON部分

本节完全没有描述,我也不知道如何表达我的需求,这相当于docker撰写:

services:
  myservice:
    networks:
      - mynetwork
networks:
  mynetwork:
    external: true

如何通过编程实现上述功能?

因此答案是:这比只设置
网络模式
键更复杂(该键仅适用于一个网络)

要做到这一点:获取网络,获取容器,将它们绑定在一起。类似这样的内容(适用于dockerode v3.2.4+):


当您调用
POST containers/create
时,您将通过网络配置传递
NetworkingConfig
,但在您必须创建网络之前
POST/networks/create
ja,我知道。我不知道的是详细信息(没有相关文档),所以我只需声明网络名称,例如
NetworkingConfig:{EndpointsConfig:{'my-network-name':{}}}}
?检查我的链接并搜索'NetworkingConfig',您将看到一个json示例。我用python中的docker api impl指导自己:和官方文档一起看哪些参数是可选的。
const Docker = require('dockerode');
const docker = new Docker();

var net = docker.getNetwork('your-external-network-name');
var cnt = docker.getContainer('your-container-name');

net.connect({Container: cnt.id}, function(err, data) {
  if (!err) console.log('we're good');
})