dockerode 将参数传递给 运行 命令 _ Nodejs Docker

dockerode pass args to run command _ Nodejs Docker

我用这些命令创建了一些网络:

docker network create --driver bridge my-network

我有一些 docker 图像已经用 docker 文件创建了。

在 docker 文档中,他们说您可以使用此命令连接您的容器:

docker run --network=my-network -itd --name=mycontainer busybox

在我的 nodejs 中,我需要将这些参数传递给我的 运行 函数:

let options = ['some option']
docker.run('mycontainer', [], process.stdout, { Env: options }).then(data => {
                console.log(data)
            }).catch(err => { console.log(err) })

所以 return 我的主要问题:如何加入 docker 到 docker 网络?

最后一个参数“{ Env: options }”用于此目的。

指的是Docker API : https://docs.docker.com/engine/api/v1.24/#31-containers 查看'Create container' --> 请求的最后一部分是'NetworkingConfig'。 你仍然需要在你的 JS 应用程序中找到好的语法

类似于:

let options = ['some option']
docker.run('mycontainer', [], process.stdout, {
Env: options,
NetworkingConfig: {
      "EndpointsConfig": {
          "isolated_nw" : {
              "IPAMConfig": {
                  "IPv4Address":"172.20.30.33",
                  "IPv6Address":"2001:db8:abcd::3033",
                  "LinkLocalIPs":["169.254.34.68", "fe80::3468"]
              },
              "Links":["container_1", "container_2"],
              "Aliases":["server_x", "server_y"]
          }
      }
  }}).[...]