问题标签 [dockerode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何使用 docker http API 进行绑定
更新
我想我需要使用 .run 而不是 .createContainer
我得到了命令在没有安装的情况下工作但是我不确定如何将 docker 容器绑定到我的 cwd
如果未注释,注释的行 (2-6) 会导致错误Scan Aborted: invalid option: --mount
我被允许添加这些创建参数,我认为我需要使用volume
,但我不确定。
OG邮报
我正在尝试使用dockerode来执行这个 docker 命令docker run --rm --mount type=bind,source=$HOME/docker-bind,target=/output wpscanteam/wpscan:latest -o /output/wpscan-output.json --format json --url 'https://example.com/'
这是我尝试过的,但是当我运行它时,它使容器具有正确的命令,但是它(几乎)立即退出,并且当我docker container inspect
创建的容器没有安装的卷时
我不确定Mount
我应该使用正确的参数,但我认为这不是问题所在,因为 docker 实例在 <.5secs 内停止,当我在 WSL 中运行命令时,运行大约需要 10 秒,所以我不要认为我的cmd:[]
论点正在执行。
当我在 WSL 2 中运行此命令docker run --rm --mount type=bind,source=$HOME/docker-bind,target=/output wpscanteam/wpscan:latest -o /output/wpscan-output.json --format json --url 'https://example.com/'
时,它可以完美地将 JSON 放置在我磁盘上的 docker-bind 文件夹中。
将此命令转换为我使用的 dockerodeprocess.cwd()
而不是 $HOME 时,因为 $HOME 是 WSL 功能。(我的项目目录中也有该docker-bind
文件夹,所以这应该不是问题)
我对 docker 非常有经验,但这超出了我的专业知识。
tl; dr 我有一个 docker 命令,我需要将输出放入我的项目目录中的文件夹中。它需要能够使用 Node.js 运行
如果有更好的库得到很好的支持,请告诉我。
Docker Docs为您提供方便 (1.42)
typescript - 如何通过 dockerode 在 listNetworks 中使用过滤器?
我想列出具有特定名称的 docker 网络,并且我尝试使用类似的选项
但是当我尝试运行这个脚本时,我得到了所有网络,那么我怎样才能只获得名称为“qwerty”的网络?图片如下。
在此处输入图像描述
node.js - dockerode 流“数据”侦听器回显写入数据
我试图弄清楚为什么 dockerode 流将写入流的所有数据直接定向到流的输出。
这就是我创建容器的方式,我在对象上调用.write()
方法。this.stream
但是,在将此流连接到连接到 xterm.js 的 websocket 后,我注意到如果我/bin/sh
通过cmd
参数启动 shell 并写入结果,我运行的命令会在侦听this.stream
器上回显给我。this.stream.on("data", ...)
例如,如果我写ls\n
,传入的数据.on("data",...)
看起来像
如何防止它ls
向我回显“”?
这是在服务器上进行流写入和读取的代码:
node.js - 如何在 nodejs 中使用过滤器修剪 docker 网络?
我想使用 dockerode 修剪 5 分钟前在我的节点应用程序中创建的所有未使用的 docker 网络
但它没有删除任何网络。帮助!
node.js - 如何将 docker 日志传递给 dockerode 中的流?
目前,我能够将 docker 日志传递到outputStream
该docker.run
方法中。
但是docker.run
,如果我想使用docker.getContainer
来获取现有的已停止容器然后启动它,而不是使用 ,该怎么办?如何捕获日志并将它们传递给流?
docker - Dockerode没有打开两个端口
当我尝试在创建选项中创建第二个端口时,它会正确创建第一个端口,但不会创建第二个端口。
这应该暴露 4566 和 443,但是当我检查新创建的容器时,它有这个信息。
您可以看到 4566 设置正确,但 443/0 : null 用于 443 端口。我已经尝试过没有 ExposedPorts 部分,更改了 HostOptions 的顺序等。但它仍然无法正常工作。有任何想法吗?
dockerode - 如何使用带有 aux 地址的 dockerode 创建 docker 网络
我正在尝试使用 javascript dockerode api 创建带有包含 AuxAddress 的 IPAM 配置的 docker 网络。但没有任何效果,我的代码如下所示:
我创建了网络,但是
a)网络的 docker network inspect 没有在 IPAMConfig 中显示 AuxAddress,只有 Subnet 值
b)当我在网络上创建一个容器时,它会获得地址 192.168.1.2,这是它不应该分配的地址。
显然,netConfig 中“AuxAddress”的值不正确,但我一直无法在 javascript 中找到它应该是什么的任何示例。我也试过 aux = {}; 辅助['设备'] = '192.168.1.2'。
node.js - 如何知道容器已启动并正在运行(Dockerode)?
我正在使用 dockerode 的run
命令运行 docker。
一旦 docker 容器运行,我需要做一些事情。我如何知道 docker 容器何时使用 dockerode 库运行?