Tag: JavaScript

从Docker内部debuggingNode.js应用程序

在debuggingNode.js应用程序时,我期望命令node index.js –inspect=5858使我的index.js文件可以在端口5858上debugging。 当我在Docker之外的主机上运行应用程序时,我可以在Chrome开发工具中debugging应用程序。 我在Docker中做了同样的事情,Chrome开发工具无法访问端口5858上的debugging器。 正如你所看到的,端口5858暴露于主机进行debugging: version: '2' services: server: build: . command: node index.js –inspect=5858 volumes: – .:/app ports: – "8000:8000" – "5858:5858" environment: – NODE_ENV = "development" 我已经在Chrome开发工具中指定了localhost:5858和127.0.0.1:5858networking端点,但Dev Tools仍然没有自动连接到它, 这似乎是我的Docker设置的一个问题,虽然你可以看到,我已经把端口暴露给主机。 可能是什么问题? 谢谢。

NodeJS fs.watch不会对Docker容器内的更改做出反应

以下代码的想法是对文件夹内文件的更改作出反应。 当我在我的macOS上运行这个代码时,一切都像执行一样。 let fs = require("fs"); let options = { encoding: 'buffer' } fs.watch('.', options, function(eventType, filename) { if(filename) { console.log(filename.toString()); } }); 另一方面,Docker Container内部的代码不会对文件更改做出反应。 我以下面的方式运行代码: docker run -it –rm –name $(basename $(pwd)) -v $(pwd):/app -w /app node:slim sh -c 'node index' 有没有一个选项用于与Docker允许系统通知文件更改?

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的简单执行?

访问在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中打开Karma服务器URL后,Firefox挂起

上下文我一直在PhantomJS,Google Chrome和Firefox本地运行我的Karmatesting,没有任何问题。 目前,我正在运行Docker中的Karmatesting,并且在Docker容器中的Firefox中运行Karmatesting时遇到了问题,尽pipeDocker容器可以在Google Chrome中运行Karmatesting而没有任何问题。 问题当我创build了包含Google Chrome,Firefox,JS库(node,npm,grunt等)和VNC实用程序(Xvfb,x11vnc)的Docker容器时。 我启动了VNC服务器并运行testing。 Firefox已经启动,套接字是用一个唯一的ID创build的。 当我进入一个VNC会话时,我可以看到firefox已经启动,URL被加载到URL栏,Karma页面被加载。 但是,大约2秒后,网页将会冻结,并且Firefox被挂起。 所以我看不到LOG: 'INFO[2015-10-16 20:19:15]: Router Started'消息。 有趣的发现,手动重现这个我已经厌倦了评论启动Firefox的行 ,所以只有在运行Karmatesting时才启动karma服务器。 然后我尝试用以下两种方法运行testing – 通过docker exec -it <container_tag>启动Bash会话,执行firefox ,并input带有相应的testing运行ID的服务器url。 在这种情况下,Firefox没有挂起,然后开始testing运行。 通过docker exec -it <container_tag>启动Bash会话,执行firefox <server_url_with_coresponding_id> 。 在这种情况下,Firefox没有挂起,然后开始testing运行。 我的DockerFile FROM ubuntu:14.04 #======================== # Environment Variables for Configuration #======================== ENV GEOMETRY 1920x1080x24 ENV DISPLAY :0 #======================== # Install Required Packages #======================== RUN […]

获取在Docker容器中运行的节点应用程序的IP地址

我有一个节点快递应用程序在Docker容器中运行,并通过应用程序尝试logging传入请求的IP地址。 因为我在防火墙后面运行了所有的东西,所以我使用了类似这样的东西“req.headers ['x-forwarded-for'] || req.connection.remoteAddress”,但是每次都会logging相同的IP地址,而不pipe请求的来源如何。 也就是说,即使是由不同的IP构成,我也总是看到相同的IP。 是否有一种优雅的方式来logging在泊坞窗容器中运行的节点应用程序的IP地址。 将使用此包帮助https://www.npmjs.com/package/ip 如果不是,请提出一种方法来捕获IP地址。

Docker mongodb + node js。 如何build立工作形象?

我怎样才能build立这个形象? 在运行图像我得到 npm info it worked if it ends with ok npm info using npm@2.15.5 npm info using node@v4.4.5 npm info prestart koaapp@1.0.0 npm info start koaapp@1.0.0 > koaapp@1.0.0 start /home/pwrchrd/Projects/KOAapp/test > node server.js connection error: { [MongoError: getaddrinfo ENOTFOUND db_1 db_1:27017] name: 'MongoError', message: 'getaddrinfo ENOTFOUND db_1 db_1:27017' }

在Docker容器中运行seleniumtesting

我想从我的JavaScript项目的来源build立一个docker图像。 我用摩卡框架写了一些testing。 testing应该在构builddocker构build过程中运行,因为我想用Jenkins自动化构build。 testing应该使用Firefox webdriver。 我在Docker镜像中安装了Xvfb,为Firefox进程提供虚拟显示。 但是每次运行构build时,所有的testing都失败了,我得到如下的错误信息: Uncaught WebDriverError: Unable to parse new session response: {"error":"unknown error","message":"connection refused"} at WebDriverError (node_modules/selenium-webdriver/lib/error.js:27:5) at client_.send.then.response (node_modules/selenium-webdriver/http/index.js:477:17) at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:2896:21) at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2820:25) at node_modules/selenium-webdriver/lib/promise.js:639:7 at process._tickDomainCallback (internal/process/next_tick.js:129:7) From: Task: WebDriver.createSession() at Function.createSession (node_modules/selenium-webdriver/lib/webdriver.js:329:24) at Driver (node_modules/selenium-webdriver/firefox/index.js:386:38) at Builder.build (node_modules/selenium-webdriver/builder.js:467:16) at Object.<anonymous> […]

如何在Docker容器中运行无头浏览器testing

我有一个使用chimp运行摩卡testing的node.js应用程序,在我的本地操作系统中运行时,它正常工作。 它使用Google Chrome进行UItesting。 目前,我是dockerizing这个应用程序…但是,我不确定我需要什么来运行在浏览器方面的uitesting。 我使用了https://github.com/workflow/docker-chimp/blob/master/Dockerfile中的一些命令来安装无头Chrome浏览器。 我的testing在“最终”挂钩上失败…但我不知道这是什么,也不知道为什么会发生。testing通常在主机操作系统中运行。 > pluto_integ_test@1.0.0 test /PlutoD2D/itest > chimp –mocha [chimp] Running… 1) "before all" hook 0 passing (1m) 1 failing 1) "before all" hook: Error: timeout of 60000ms exceeded. Ensure the done() callback is being called in this test Mocha failed npm ERR! Test failed. See above for more details. 我怎样才能找出问题所在?

运行ionic framework到docker不创build本地文件夹/文件

我是新来的docker,我想创build一个容器,以build立一个nodejs和离子实例。 在我的名为DockerEnv的项目文件夹中,我创build了一个Dockerfile和一个docker-compose.yml 。 这是我的Dockerfile内容: FROM node:6.9.4 # install cordova >=4.2.0 for ionic framework 2 RUN npm install -g cordova@4.2.0 # install ionic 2 framework RUN npm install -g ionic@2.2.1 ENV HOME=/src RUN mkdir $HOME RUN cd $HOME # create an ionic project as seen on the doc here: http://ionicframework.com/docs/v2/setup/tutorial/ RUN ionic start ionic-app –v2 ENV […]