简体   繁体   English

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

[英]dockerode pass args to run command _ Nodejs Docker

I created some network with these command :我用这些命令创建了一些网络:

docker network create --driver bridge my-network

and I have some docker image that already created with an dockerfile.我有一些已经用 dockerfile 创建的 docker 镜像。

In docker documentation they said you can connect your container with this command:在 docker 文档中,他们说您可以使用以下命令连接容器:

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

in my nodejs I need to pass these args to my run function:在我的 nodejs 中,我需要将这些参数传递给我的运行函数:

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

so return to my main question : How to join a docker to docker network ?所以回到我的主要问题:如何将 docker 加入到 docker 网络?

The last parameter "{ Env: options }" is used for that.最后一个参数 "{ Env: options }" 用于此目的。

it refers to Docker API : https://docs.docker.com/engine/api/v1.24/#31-containers Look at 'Create container' --> The last part of the request is 'NetworkingConfig'.它指的是 Docker API: https : //docs.docker.com/engine/api/v1.24/#31-containers看“创建容器”--> 请求的最后一部分是“NetworkingConfig”。 You still have to found the good syntax in your JS app你仍然需要在你的 JS 应用中找到好的语法

Something like :就像是 :

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"]
          }
      }
  }}).[...]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM