问题标签 [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 - 在 Windows 上使用 nodejs 在 docker 中挂载卷
我尝试在 Windows 上使用 nodejs 应用程序在 docker 容器中安装一个卷。当我在 cmd 上尝试此命令时:
docker run -it -v C:\Users\User\data:/stuff:rw ubuntu bash
它可以工作,并且容器包含该卷。但是,如果我尝试使用 nodejs(dockerode 模块)来做到这一点,它就不起作用。我的代码:
问题是它什么也没打印(东西目录是空的)。当我在 mac 上使用相同的代码时,它工作正常。我该如何解决?谢谢。
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 真的很糟糕或丢失了,我不知道该怎么做。任何帮助表示赞赏。谢谢你
javascript - 附加到正在运行的容器 dockerode
尝试使用 dockerode SSH 进入正在运行的容器。我想使用诸如“node dist/server.js”之类的命令运行容器,然后在容器启动后将其 ssh 到其中并默认运行 bash。查看了附加容器的所有示例,但所有示例首先使用 CMD 作为 bash 创建容器,然后仅附加它。
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
javascript - 如何使用 NodeJS dokerode 库获取进程的输出?
目前,此代码在控制台上显示容器主目录中的文件列表。我需要同样的东西,但在一个变量中
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
javascript - 使用 dockerode 在 docker 容器中运行 java 代码
我想将一些 java 代码作为字符串发送到 API,然后在 docker 容器中运行它并返回控制台输出,我已经设法用 Python 做到了,但由于 java 首先需要编译然后运行我不确定如何实现语言。
目前正在使用 python 图像,但我对 java 不太熟悉,我不确定如何处理它。
我的环境是使用 typescript 的节点,而我使用的是 dockerode 模块。
我可以通过在运行 python 后将字符串添加到 Cmd 来将字符串直接传递给容器,但不确定如何将字符串传递到文件中然后编译并运行它。
我只有一个监听器来捕获可用于以后的输出流
任何关于使用哪个图像以及如何传递代码以获取输出的建议将不胜感激。
node.js - 将filePath作为变量传递给dockerfile _ nodeJS dockerode Docker
就我而言,我正在创建一个需要从主机复制到容器的 config.json。
我发现有一些选项可以将 args 传递给我的 dockerfile。所以第一步是:
1.创建Dockerfile:
如您所见,我有 2 个变量 [“$CONFIG_PATH”、“$PORT”]。
所以这些变量是动态的,来自我在docker run中的命令。在这里,我需要将我的配置文件从我的主机复制到我的容器,并且我需要使用该config.json文件运行我的项目。
构建图像后:
- 第二步:
从用户那里获取我的配置文件并使用这些变量运行 docker 映像。
当我尝试执行我的代码时收到此错误消息。
打开 JSON 配置 (./foo/config.json) 时出错:打开 ./foo/config.json: no such file or directory 。终止。
node.js - dockerode 传递参数来运行命令_Nodejs Docker
我用这些命令创建了一些网络:
我有一些已经使用 dockerfile 创建的 docker 映像。
在 docker 文档中,他们说您可以使用以下命令连接您的容器:
在我的 nodejs 中,我需要将这些参数传递给我的运行函数:
所以回到我的主要问题:如何将 docker 加入 docker 网络?