Tag: node.js

docker工websocket附加使用unix套接字

我有docker在/var/run/docker.sock运行。 我想附加到一个容器。 所以我砍了ws库让它发送它的请求socketPath和path。 基本上,它会看到ws+unix:///var/run/docker.sock:/containers/theid/attach/ws?args并做正确的事情。 问题是:docker上的请求返回403禁止。 是通过一个unix套接字访问websocket只是禁用? 如果我向http://localhost:3000/containers/theid/attach/ws?args发出同样的请求,websocket连接就可以正常工作(我有docker守护进程在http和unix套接字上监听)。 另外,看着docker守护进程日志,我看到了预期的GET请求 谢谢!

Node.js zlib gzip缓冲区作为档案内的“文件”

我想在node.js中将gzip中的utf-8缓冲区作为gzip归档文件中的“文件”进行压缩。 似乎没有在zlib页面上有关于如何做到这一点的任何文档,没有从我迄今为止发现的堆栈溢出的见解。 最后,我实际上并不想写一个文件到文件系统,而只是发送一个http请求的数据。 如果任何人有任何想法如何做到这一点(无论zlib是否已经支持它,或者是否有一个包可以做到这一点),这将是一个很大的帮助! 只是为了清楚这是什么,这是通过http发送一个Dockerfile(stringforms)到一个docker实例的build image命令。 谢谢!

用node.js发送日志到网页

我尝试将应用程序的某些日志发送到前台时遇到问题。 我想将特定泊坞窗容器的所有日志发送到网页。 我可以将它附加到控制台,它完美的工作原理,但我不能设法发送这个stream到一个简单的网页,将显示在容器中发生的事情。 我怎样才能做到这一点 ? 我已经尝试使用socket.io,但我总是得到一个循环JSON错误,我可以到达前端的是一个[对象对象],没有别的。 这里是我用来附加我的容器的function: docker.containers.attach(containerId, {logs: true, stream: true, stdout: true, stderr: false, tty: false}, function(err, stream){ stream.pipe(process.stdout); //This shows what happens inside the container. I want to send this output to a web page })

使用Node.js远程构buildDocker镜像

我想通过Node.js远程构build一个Docker镜像。 基本上,我已经看到有dockerode和docker.io等项目包装Docker的远程API,但我不知道他们是否真的是我正在寻找。 我的基本设置如下所示: 我有一个私人的registry内的现成的形象(认为Quay.io或类似的东西)。 这个容器有一个ONBUILD触发器,它基本上运行ADD . /foo/ ADD . /foo/ 。 现在我的笔记本上有一个本地文件夹,我想用它作为. 为ONBUILD命令。 这个文件夹还包含一个Dockerfile 。 我希望生成的图像在远程机器上构build,而不需要在本地安装Docker。 所以基本上需要做的是创build一个小型的Node.js脚本,它将Dockerfile的本地文件夹,并将其推送到运行Docker服务器,然后能够从registry中获取基础映像。 这可能吗? 如果是这样,怎么样? 不知何故,我感觉有点失落,因为我不知道从哪里开始。 也许,如果有人能告诉我需要完成的步骤,这已经是很大的帮助了! PS:作为一个额外的挑战,我想在没有本地Dockerfile 情况下完成同样的Dockerfile 。 它应该由Node.js程序即时创build。 现在我想知道是否可以做到这一点,没有一个额外的临时文件夹,但不知何故保持在内存中?

docker集装箱的Web控制台

情况 有一个名为“app-data”的数据专用容器 有一个复印机的容器工人 最初创build应用程序/数据就是这样,它的状态是“停止”/退出。 然后,复印机工作人员将一些文件复制到应用程序/数据卷中,例如server.py 好吧,这样做是这样的: docker run –rm –volumes-from app-data /somelocation/server.py ~/www/ 复印机需要2个参数,要复制的文件和复制的位置 有了这个,我可以运行一个名为app / serve的映像来服务卷中的文件,如下所示: docker run –volumes-from app-data -d -P app/serve 图像入口点做这个http-server,而workdir与数据量相同,所以它会运行 地狱是的,它的工作原理,可以在主机上访问python web应用程序,像这样:0.0.0.0:49124,因为应用程序/服务映像暴露了由sever.py脚本使用的端口5000 我有上面的工作,你可以集中在下面。 所以应用程序可以运行? 但我想做更复杂的事情,只是运行应用程序(我运行应用程序使用远程API),如果我想运行应用程序使用连接到docker集装箱的Web控制台。 我的想法是如何可能的 使用term.js 暴露2个端口,例如(4000,5000) 使用端口4000,以便当term.js在端口4000中执行时,它将生成一个高端端口供客户端在Web控制台套接字连接中使用 使用端口5000允许任何运行在端口5000上的Web应用程序将在另一个高端端口中可用,以便像0.0.0.0:49124那样访问 这是一个runnable / dockworker如何执行的原型实现,对于nodejs我还是一个新的东西,这就是为什么我不能理解它们是如何实现的,这个想法是否会有一个function较less的简单执行?

Mac OS X,Vagrant,Docker,Nginx,Node – 端口如何一起玩?

我有一个简单的nginx,node.js设置,我想迁移到stream浪者,Docker世界。 我不知道如何处理IP和端口。 我的目标是通过调用我的主机http://example.com ,在浏览器中看到我的Hello World ,在80端口的最佳情况。 更新我自己find了解决scheme – 我在这里创build了一个简单的样板: https : //github.com/ezmilhouse/docker随意从这里继续。 app.js var app = express(); app.route('*').all(function(req, res) { res.send('Hello World!'); }); app.listen(2000) nginx.conf upstream example.com { # using the vagrant private network IP (I guess?) # using the node port server 192.168.33.10:2000 } server { # ports nginx server is listen to listen […]

访问在Docker容器内运行的node.js Hapi服务器

我已经使用node.js hapi服务器从centOS构build了一个docker容器。 服务器能正常运行,当在容器中运行时,我在控制台中得到正确的输出。 但是,我不知道该怎么做。 docker集装箱输出 $ docker run -p 49000:3000 work/learning Server running at: http://f878541bb9f8:3000 Pack Server running at: http://f878541bb9f8:5000 Docker文件 # DOCKER-VERSION 0.3.4 FROM centos:centos6 # Enable EPEL for Node.js RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm # Install Node.js and npm RUN yum install -y npm ADD . /src RUN cd src; npm install EXPOSE 3000 […]

在Docker中链接容器/构build图像

我将尽我所能来形容我正在努力完成的任务,希望有人能够帮助我完成我想要完成的任务。 不是一步一步的,但正如我所说的一个过程,所以我可以围绕什么需要完成。 我已经构build了一个NodeJS博客应用程序。 它需要使用MongoDB。 我试图做的是有我的dockerfile / mynodeblog图像和dockerfile / mongodb并将容器连接在一起(我不想在我的博客Dockerfile中包含MongoDB的安装,我特别想链接容器)。 不过,我有点被赶上了22。 我的节点应用程序再次需要MongoDB,这在安装MongoDB,安装我的节点博客,然后以旧式的方式运行我的节点博客时不是问题。 我面临的问题是,我正在尝试将我的节点博客构build到Dockerfile中,并构build出该映像。 不幸的是,图像永远不会成功build立,因为它需要MongoDB来完成。 但MongoDB将在另一个容器! 如果这是有道理的,我将不胜感激任何反馈,甚至可以开始处理我遇到的问题。 先谢谢你!

Nodemon Docker ECONNREFUSED错误

我得到这个错误,当我做我的平静请求运行在Docker容器内运行的nodemon服务器: 12 Nov 14:41:37 – [nodemon] v1.2.1 12 Nov 14:41:37 – [nodemon] to restart at any time, enter `rs` 12 Nov 14:41:37 – [nodemon] watching: *.* 12 Nov 14:41:37 – [nodemon] starting `node api.js -c config.json` Server listening on port 8002 [2014-11-12T14:41:41.359Z] TRACE: API/284 on ee7afec994f4: running _sanitizePath [2014-11-12T14:41:41.363Z] TRACE: API/284 on ee7afec994f4: running ? […]

Docker:链接不同主机上的容器

如何在Docker中的不同主机上连接两个容器? 我需要通过另一个主机上的nodejs应用程序在一台主机上使用来自mongodb的数据? 任何人都可以给我这样的例子吗?