Skip to content

Can't run compose.up() when using a external network #50

Description

@cz-lucas

Hi,

I can't start my stack when using an external network.

NodeJS Version: v23.10.0
Docker Version: Docker version 28.0.1, build 068a01e
I am using the lastet versions of dockerode and dockerode-compose.

Docker compose

services:
  nginx:
    image: nginx
    networks:
      - reverse-proxy

networks:
  reverse-proxy:
    external: true
$ node
Welcome to Node.js v23.10.0.
Type ".help" for more information.
> var Dockerode = require('dockerode');
undefined
> var DockerodeCompose = require('dockerode-compose');
undefined
> var docker = new Dockerode();
undefined
> var compose = new DockerodeCompose(docker, '/tmp/docker-compose.yaml', 'nginx');
undefined
> (async () => {
...   await compose.pull();
...   var state = await compose.up();
...   console.log(state);
... })();
Promise {
  <pending>,
  [Symbol(async_id_symbol)]: 70,
  [Symbol(trigger_async_id_symbol)]: 6
}
> Uncaught:
Error: (HTTP code 500) server error - failed to set up container networking: Could not attach to network undefined: rpc error: code = NotFound desc = network undefined not found 
    at /workspaces/onboarding/node_modules/docker-modem/lib/modem.js:383:17
    at getCause (/workspaces/onboarding/node_modules/docker-modem/lib/modem.js:418:7)
    at Modem.buildPayload (/workspaces/onboarding/node_modules/docker-modem/lib/modem.js:379:5) {
  reason: 'server error',
  statusCode: 500,
  json: {
    message: 'failed to set up container networking: Could not attach to network undefined: rpc error: code = NotFound desc = network undefined not found'
  }
}
$ docker network ls
NETWORK ID     NAME                    DRIVER    SCOPE
x1go9sb9riuo   reverse-proxy           overlay   swarm

In another project with nuxt3 I am getting the following error (I am not allowed to share more of the code):

const startContainers= () => {
  const docker = new Docker({ socketPath: '/var/run/docker.sock' });
  var compose = new DockerodeCompose(docker, composeFilePath, "myApp");

  return compose.pull()
    .then((data) => {
      return compose.up();
    })
    .then(() => {
      return { success: true, message: 'Started' };
    })
    .catch((err) => {
      console.error('Error while starting: ', err);
      throw err;
    });
};
 ERROR  Error in process: Cannot read properties of null (reading 'external')

    at Object.buildNetworks (node_modules/dockerode-compose/lib/servicesTools.js:502:58)
    at Object.up (node_modules/dockerode-compose/lib/services.js:174:21)
    at Compose.up (node_modules/dockerode-compose/compose.js:55:40)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async node_modules/h3/dist/index.mjs:2009:19
    at async Object.callAsync (node_modules/unctx/dist/index.mjs:72:16)
    at async Server.toNodeHandle (node_modules/h3/dist/index.mjs:2301:7)

How can this be fixed?

Thanks

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions