【问题标题】:dockerode pass args to run command _ Nodejs Dockerdockerode 传递参数来运行命令_Nodejs Docker
【发布时间】:2023-03-30 07:30:01
【问题描述】:

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

docker network create --driver bridge my-network

我有一些已经用 dockerfile 创建的 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) })

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

【问题讨论】:

    标签: node.js docker dockerode


    【解决方案1】:

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

    它指的是 Docker API:https://docs.docker.com/engine/api/v1.24/#31-containers 查看“创建容器”-> 请求的最后一部分是“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"]
              }
          }
      }}).[...]
    

    【讨论】:

      猜你喜欢
      • 2016-03-25
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 2017-08-17
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      相关资源
      最近更新 更多