问题标签 [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.

0 投票
1 回答
1232 浏览

node.js - 在 Windows 上使用 nodejs 在 docker 中挂载卷

我尝试在 Windows 上使用 nodejs 应用程序在 docker 容器中安装一个卷。当我在 cmd 上尝试此命令时:

docker run -it -v C:\Users\User\data:/stuff:rw ubuntu bash

它可以工作,并且容器包含该卷。但是,如果我尝试使用 nodejs(dockerode 模块)来做到这一点,它就不起作用。我的代码:

问题是它什么也没打印(东西目录是空的)。当我在 mac 上使用相同的代码时,它工作正常。我该如何解决?谢谢。

0 投票
1 回答
461 浏览

docker - 如何使用 dockerode 推送图像?(图像未推送但没有错误)

我有这个代码:

在我运行这个之后没有错误,即使我on("error").push.

这会在 docker logs 中创建以下内容

什么也没有发生,没有图像被推送。不知道这些 dns 错误是什么...

但是现在当我转到 CMD 行并运行时docker login -u AWS -p secretAWSkey https://284135xxxxxx.dkr.ecr.us-east-1.amazonaws.com,然后docker push my-image我在日志中看到:

现在图像被推送并工作。

差异(工作与不工作):

  • /v1.39/images/对比/images/
  • 打电话/v1.39/auth与不打电话

不知道该怎么做,因为 dockerode 的 api 真的很糟糕或丢失了,我不知道该怎么做。任何帮助表示赞赏。谢谢你

0 投票
1 回答
273 浏览

javascript - 附加到正在运行的容器 dockerode

尝试使用 dockerode SSH 进入正在运行的容器。我想使用诸如“node dist/server.js”之类的命令运行容器,然后在容器启动后将其 ssh 到其中并默认运行 bash。查看了附加容器的所有示例,但所有示例首先使用 CMD 作为 bash 创建容器,然后仅附加它。

0 投票
2 回答
177 浏览

mysql - 带有 MySQL 导入的 Docker 运行命令

我正在使用 dockerode 创建和运行容器。我正在尝试将数据导入 MySQL。我的代码:

在 C:/tmp 我必须文件夹“21336”

运行我的代码后,我看到导入没有发生,并且 docker ps 命令显示:

当我使用“-it”标志启动容器并运行导入命令时:

它完美地工作。

我使用的图像:

失败容器运行的日志显示它无法识别命令:在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
77 浏览

docker - Docker API /images/json 总是返回 Containers:-1

如 API 文档 https://docs.docker.com/engine/api/v1.39/#operation/ImageList中所述 ,图像应该包含类似的内容"Containers": 2,但对我来说,api 返回的所有图像都有,"Containers": -1即使有容器正在运行使用图像的
(用 选中docker ps -a

我正在使用 API 版本 1.39 运行 Docker Engine 18.09.2
我使用节点包 dockerode 和 curl 命令测试了图像列表

sudo curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" http:/docker/images/json

sudo curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" http:/v1.39/images/json

0 投票
1 回答
621 浏览

javascript - 如何使用 NodeJS dokerode 库获取进程的输出?

目前,此代码在控制台上显示容器主目录中的文件列表。我需要同样的东西,但在一个变量中

0 投票
1 回答
220 浏览

node.js - How to directly pass the content of dockerfile as a string to dokerode instead of passing the path of the file

dockerode api needs to be invoked with the following parameters in order to build an image from a dockerfile

ex:

where context denotes the directory where the dockerfile is located, src would contain the files that will be used to create the tarball and generate the dockerimage, and t denotes the tagname of the dockerimage.

However in my situatation i want to skip mapping the directory and the name of the dockerfile for dockerode to read and create the image from, or, in other word i want to skip the file read operation that goes inside the dockerode and instead suppy the content of the dockerfile directly as a string .

so, if the dockerfile contatins something like this

I want to pass that string directly to dockeode to build the image instead of writing that text to a dockerfile and passing the path to the file.

is there a way, it would be possible

0 投票
1 回答
323 浏览

javascript - 使用 dockerode 在 docker 容器中运行 java 代码

我想将一些 java 代码作为字符串发送到 API,然后在 docker 容器中运行它并返回控制台输出,我已经设法用 Python 做到了,但由于 java 首先需要编译然后运行我不确定如何实现语言。

目前正在使用 python 图像,但我对 java 不太熟悉,我不确定如何处理它。

我的环境是使用 typescript 的节点,而我使用的是 dockerode 模块。

我可以通过在运行 python 后将字符串添加到 Cmd 来将字符串直接传递给容器,但不确定如何将字符串传递到文件中然后编译并运行它。

我只有一个监听器来捕获可用于以后的输出流

任何关于使用哪个图像以及如何传递代码以获取输出的建议将不胜感激。

0 投票
1 回答
309 浏览

node.js - 将filePath作为变量传递给dockerfile _ nodeJS dockerode Docker

就我而言,我正在创建一个需要从主机复制到容器的 config.json。

我发现有一些选项可以将 args 传递给我的 dockerfile。所以第一步是:

1.创建Dockerfile:

如您所见,我有 2 个变量 [“$CONFIG_PATH”、“$PORT”]。

所以这些变量是动态的,来自我在docker run中的命令。在这里,我需要将我的配置文件从我的主机复制到我的容器,并且我需要使用该config.json文件运行我的项目。

构建图像后:

  1. 第二步:

从用户那里获取我的配置文件并使用这些变量运行 docker 映像。

当我尝试执行我的代码时收到此错误消息。

打开 JSON 配置 (./foo/config.json) 时出错:打开 ./foo/config.json: no such file or directory 。终止。

0 投票
1 回答
480 浏览

node.js - dockerode 传递参数来运行命令_Nodejs Docker

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

我有一些已经使用 dockerfile 创建的 docker 映像。

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

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

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