Docker API - как мне подключиться к сети?

Это документация по API: https://docs.docker.com/engine/api/v1.24/, где вы увидите, что для метода создания контейнера отображается раздел JSON с надписью "NetworkingConfig"

этот раздел вообще не описан, и я не могу понять, как выразить то, что мне нужно, что эквивалентно docker-compose:

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

как я могу сделать вышеперечисленное программно?

1 ответ

Поэтому ответ таков: это сложнее, чем просто NetworkMode ключ (который работает, но только для одной сети)

Для этого: получить сеть, получить контейнер, связать их вместе. как то так (работает с dockerode v3.2.4+):

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');
})
Другие вопросы по тегам