You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中通过dockerode将Docker容器加入指定网络

在dockerode中运行容器时指定加入现有Docker网络

我来帮你搞定这个问题——你已经用docker network create创建了my-network,现在要通过dockerode的run函数让容器直接加入这个网络,其实和你熟悉的docker run --network=my-network命令对应起来很简单,只需要在run的配置参数里添加网络相关的设置即可。

修改后的代码示例

let options = ['some option'];

// 构建容器配置,加入网络设置
const containerConfig = {
  Env: options,
  // 对应命令行的 --network=my-network 参数,直接指定容器使用的网络
  HostConfig: {
    NetworkMode: 'my-network'
  },
  // 可选:如果需要更精细的网络配置(比如指定IP),可以添加这个配置
  NetworkingConfig: {
    EndpointsConfig: {
      'my-network': {} // 空对象表示使用网络的默认配置
    }
  }
};

docker.run('mycontainer', [], process.stdout, containerConfig)
  .then(data => { console.log(data) })
  .catch(err => { console.log(err) });

关键配置说明

  • HostConfig.NetworkMode:这是最直接对应命令行--network参数的配置项,直接设置为你已创建的网络名称my-network,Docker就会在启动容器时将其加入该网络。
  • NetworkingConfig(可选):如果需要对容器的网络连接做更精细的控制(比如指定静态IP、DNS设置等),可以在EndpointsConfig中针对my-network添加具体配置。如果只是单纯加入网络,空对象就足够了。

注意事项

确保你预先创建的my-network确实存在(就像你用docker network create --driver bridge my-network创建的那样),否则dockerode会抛出网络不存在的错误。

内容的提问来源于stack exchange,提问作者Babak Abadkheir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:49:40