Tag: node.js

如何运行PhantomJS作为服务器并远程调用它?

这可能是一个非常基本的问题。 我想运行一个无头浏览器PhantomJS作为服务器,但不作为命令行工具。 一旦运行,我想通过HTTP远程调用它。 我唯一需要的是发送一个URL并取回HTML输出。 我需要它为AJAX应用程序生成HTML以使其可search。 可能吗 ?

node.js使用websocket附加一个docker容器

对于docker工人来说是新的,所以在尝试使用WebSocket附加一个docker集装箱的POC。 我错过了任何configuration? 我有一个docker运行在一个特定的端口 当我运行docker ps a时,我得到以下结果 27b54b635a42|ubuntu|"/bin/bash"|56 minutes ago|Up 56 minutes|0.0.0.0:3000->3000/tcp| ubuntu 我有以下代码 exports.create = function(req, res) { docker.createContainer({ Image: 'ubuntu', Cmd: ['/bin/bash'], host: '127.0.0.1', port: '3000', NetworkMode: 'host', Tty: true, Binds: ['/tmp:/tmp'] }, function(err, container) { if (err){ console.log("error", err); } else { console.log("container created"); var containerId = "27b54b635a42"; container.attach({ stdio:true, stream: true, stdout: […]

获取SequelizeConnectionRefusedError:当运行docker与sequ​​elize

我正在运行docker以下configuration web: image: ca9a385372b0 volumes: – .:/src ports: – "8000:8000" container_name: web links: – mysql mysql: image: 7666f75adb6b environment: container_name: mysql ports: – "6603:3306" volumes: – ./data/mysql:/var/lib/mysql 启动容器后,我可以通过我的主terminal很好地连接到端口6603上的mysql。 mysql -uuser -p -h127.0.0.1 -P6603 但是当我通过我的nodejs应用程序容器时,我得到以下错误。 我已经链接了容器。 我可以看到它试图连接到使用内部IP和所有的MySQL容器。 未处理的拒绝SequelizeConnectionRefusedError:连接ECONNREFUSED 172.17.0.3:6603 我也检查了MySQL容器的权限,看到这个: GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION 有什么我失踪?

我如何解决在我的VPS上部署/更新dockerized应用程序?

这个问题不容易做出好的标题,所以如果有人有更好的主意,请编辑。 这就是我所拥有的: VPS(KVM) docker Nginx的代理,所有应该被暴露的docker集装箱自动暴露在适当的领域。 像WordPress的一些应用程序只是使用容器连接的卷可以通过FTP访问,所以这不是一个问题来pipe理他们/更新的东西等 我有SailsJS应用程序(NodeJS),我必须dockerize。 它会经常更新。 我将用C#(ASP.NET)/ Java(Spring)编写一些类似于第5点的应用程序。 5和6源代码都存储在BitBucket,但可以改变,如果最好有自己托pipe的git服务器来解决问题。 我正在寻找的是有自动化的过程,当我做提交时,将build立docker的形象,并确保docker将拉新的形象,并重新启动容器与新的内容。 我不想使用DockerHub,因为只有一个私有存储库,所以它不会长期工作。 我想我可以用Jenkins来做,但不知道如何…

Gitlabpipe道阶段需要几个小时或几天来显示结果(通过,失败) – docker,节点的应用程序

我正在使用Gitlab持续集成(.gitlab-ci.yml)和docker,docker-compose来构build,testing和部署我的节点应用程序,但构build和testing需要花费很多时间在gitlabpipe道上完成(在我的本地docker应用程序build立和testing运行顺利),我认为这不是正常的gitlab ci行为,我想我错过了一些东西,或者我使用错误的configuration 请检查下面的configuration(.gitlab-ci.yml)和底部的pipe道截图 .gitlab-ci.yml # GitLab CI Docker Image image: node:6.10.0 # Build – Build necessary JS files # Test – Run tests # Deploy – Deploy application to ElasticBeanstalk stages: – build – test – deploy # Configuration variables: POSTGRES_DB: f_ci POSTGRES_USER: f_user POSTGRES_PASSWORD: sucof services: – postgres:latest cache: paths: – node_modules/ # Job: […]

复制文件后Docker权限问题

我有以下的docker文件 FROM ubuntu:14.04 #Install Node RUN apt-get update -y RUN apt-get upgrade -y RUN apt-get install nodejs -y RUN apt-get install nodejs-legacy -y RUN apt-get install npm -y RUN update-alternatives –install /usr/bin/node node /usr/bin/nodejs 10 # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # COPY distribution COPY dist dist COPY package.json package.json # […]

docker nodejs容器不能连接mysql容器

我正在Digital Ocean运行Docker服务器。 在那里我有两个容器Nodejs和Mysql。 Mysql容器已经打开到3306的端口。 尝试通过Docker Server的ip +端口通过nodejs访问mysql时。 我得到错误:连接ETIMEDOUT。 当我在本地计算机上运行相同的nodejs泊坞窗安装程序时,它工作正常。 有什么我失踪? 这里是nodejs docker-composer.yml: version: '2' services: test-web-install: image: example-nodejs:latest working_dir: /home/app volumes: – ./:/home/app command: sh -c 'nodemon' environment: – NODE_ENV=development – DB_HOST=192.168.11.207 #or public ip in internet – DB_PORT=3036 – DB_PASSWORD=root – DB_USER=root – DB_DATABASE=root ports: – "3000:3000" 这里是mysql的docker-composer.yml mysql: container_name: flask_mysql restart: always image: […]

等同构build不相同

如果我build立这样的图像: docker build -f app/Dockerfile -t test . 它build立得很好,但下面docker-compose.yml (我相信应该是等效的): app: container_name: test build: context: . dockerfile: app/Dockerfile 无法build立。 如果我运行docker-compose与–verbose我看到: compose.cli.verbose_proxy.proxy_callable:docker build < – (pull = False,stream = True,nocache = False,tag = u'prj_app',buildargs = None,rm = True,forcerm = False,path ='/ Users / ekkis / dev / prj',dockerfile ='。/ app / Dockerfile') 这似乎是我所期望的。 特别是我得到的错误是(抱歉,包括作为代码,但报价混乱的事情): npm WARN […]

与docker混淆的东西

这几天我正在尝试为我的项目使用docker,但是我对它的一些问题感到困惑。 我的项目由nodejs + mongodb + nginx创build,现在我想用docker发布我的项目。 我不知道是否应该使用节点图像+ mongodb图像+ nginx图像,然后将它们链接在一起,或者我应该使用像centos和安装节点,mongo,nginx的基本图像,然后运行我的服务器。 另一个问题,如果我尝试第二种方法,在我的dockerfile中运行节点服务器,它需要连接mongodb使用正确的用户,但是当节点服务器运行时,mongodb还没有用户授权configuration,所以节点服务器无法运行,那么如何在Docker文件中创build用户?

docker集装箱内的rsync文件?

我们使用Docker来构build/部署NodeJS应用程序。 我们有一个由Jenkins构build的test容器,并执行我们的unit testing。 Dockerfile看起来像这样: FROM node:boron # <snip> some misc unimportant config here # Run the tests ENTRYPOINT npm test 我想修改这一步,让我们运行npm run test:cov ,它运行unit testing+生成覆盖报告的HTML文件。 我修改了Dockerfile来说: # Run the tests + generate coverage ENTRYPOINT npm run test:cov …工作。 好极了! …但是现在我不确定如何将覆盖率报告(由Dockerfile中的上述命令生成) rsync同步到远程服务器。 在jenkins,上面的configuration是这样调用的: docker run -t test –rm 其中,再次运行上述testing并存在容器。 在执行入口点命令之后,如何添加一些额外的步骤(例如)rsync将某些结果输出到远程服务器?