Tag: node.js

docker(Mac / Windows):如何从容器访问主机服务?

我可以在–network="host" docker run命令中使用–network="host"选项从–network="host"容器中访问主机的服务。 这在Ubuntu上运行良好。 但是,相同的命令在Mac OS Sierra(10.12.4)和Windows 10上不起作用。 我的用例是我有一个本地mongoDB服务器上运行mongodb://127.0.0.1:27017。 我使用以下命令启动我的容器: docker run -p 3002:3002 –network="host" image-name Dockerfile: FROM node:7.5 RUN npm install -g pm2 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app RUN npm install COPY . /usr/src/app EXPOSE 3002 ENV NODE_ENV local CMD pm2 start –no-daemon server.js 我曾尝试在Mac和Windows上使用–net="host"选项。 它不起作用。 请帮忙。

docker-compose启动两个节点应用程序

我有这样的结构: ├── api │ ├── server.js │ ├── Dockerfile ├── docker-compose.yml └── web ├── client ├── Dockerfile ├── node_modules ├── package.json └── server 2 Dockerfiles和一个docker组成根文件,我怎样才能用docker组合运行这两个应用程序? 我试过这样的: 撰写文件: services: web: build: ./web . volumes: – .:/app ports: – "4200:4200" restart: always command: npm start server: build ./api . volumes: – .:/app ports: – "3100:3100" restart: always […]

我正在用Docker Compose运行2张图片,并且遇到了从我的Mac打到本地主机的麻烦。 我正在公开端口3000.我错过了什么?

我正在使用Docker构build一个Node / Mongo应用程序,并且在运行docker-compose up时遇到从运行MacOs的主机打到本地主机的麻烦。 使用邮递员或curl -i localhost:3000不会返回任何内容。 我也尝试检查容器,并与该ip连接。 我究竟做错了什么? 谢谢! 泊坞窗,compose.yml: version: "2" services: web: build: . ports: – "3000:3000" volumes: – .:/app env_file: – todoListDocker.env links: – mongo mongo: image: mongo environment: – MONGO_INITDB_ROOT_USERNAME=root – MONGO_INITDB_ROOT_PASSWORD=tWwp3Fm4hZUsaLw4 volumes: – mongo:/data/db ports: – "27017:27017" env_file: – todoListDocker.env volumes: mongo: Dockerfile: FROM node:boron MAINTAINER Clinton Medbery <clintomed@gmail.com> […]

Dockerfile公开端口为node.js图像

我试图公开端口为node.js图像,但它不暴露在外面的端口: FROM node:4-onbuild ADD package.json /tmp/package.json RUN cd /tmp && npm install RUN mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app/ WORKDIR /opt/app ADD . /opt/app EXPOSE 8000:8000 CMD ["npm", "start"] 只有在运行映像时发布端口是可行的 docker运行-p = 8000:8000

Express不在docker上运行,而是在localhost上运行

我正在努力将我的后端部署到泊坞窗容器。 我发现,我的问题是expression框架。 首先,我必须说,一切工作在我的本地主机罚款。 但是当我将我的应用程序部署到服务器时,我得到了503错误(服务不可用)。 如果我不通过快递初始化我的应用程序,那么所有的东西都在docker集装箱内工作。 那么可能是什么问题呢? 这是我的docker代码: FROM node:alpine RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install COPY . /usr/src/app EXPOSE 9080 CMD [ "npm", "start" ] 这是我的节点代码: var express = require('express'); var app = express(); app.listen(process.env.PORT || 9080); app.get('/test', function(req, res){ res.send("hi"); }); 这里是我的package.json: { "name": "server", "version": "1.0.0", "description": […]

Docker挂载的卷只在容器重启时更新

我有一个Docker容器,它具有NodeJs,npm,jspm&aurelia实现,我的src文件夹包含在主机文件系统中装入的样式,资产,html和js文件。 一切看起来不错,但是当我更新安装的卷中的HTML或JS,并刷新Web应用程序的变化不反映。 我的docker文件如下; FROM node:6.1.0 MAINTAINER Webnostix code@webnostix.co.uk RUN npm install -g jspm RUN apt-get -y install git RUN npm install aurelia-cli -g RUN npm install gulp -g # Setup the script to run on startup COPY . /var/www/ EXPOSE 9000 3001 WORKDIR /var/www/ CMD npm install -y && au run —watch 我使用包含我的源代码的主机目录中的以下命令运行docker容器 docker run […]

Docker端口不暴露在本地主机上

我刚开始在mac上使用docker,我无法弄清楚为什么端口不在本地主机上暴露。 这是我的Dockerfile: FROM node:alpine RUN apk add –update curl RUN mkdir -p /home/app WORKDIR /home/app COPY . /home/app RUN cd /home/app; npm install express EXPOSE 8080 CMD ["node", "app.js"] 这是我的示例应用程序: var app = require("express")(); app.get('/', (req, res) => { res.send({'lorem': "ipsum"}); }); app.listen(8080); console.log('listening on 8080'); build设完成后,我做了docker运行: docker run -d -p 8080:8080 some/test 我已经检查了docker日志,一切运行良好。 我已经在容器上运行docker […]

如何从不同的容器中使用php&nodejs

假设我有以下情况: 泊坞窗,compose.yml version: '3' services: web: build: . links: – apache – php – node depends_on: – apache – php – node volumes: – .:/var/www/html apache: image: httpd php: image: php node: image: node 我也有一个Dockerfile FROM phusion/baseimage RUN apt-get update RUN apt-get install -yq git curl zip wget curl RUN curl -s https://getcomposer.org/installer | php […]

Expressjs应用程序从Docker中的PM2开始,随着SIGINT而死

我有一个非常简单的Expressjs应用程序 – 基本上是一个单一的职位电话库封装。 这里是app.js内容: var compression = require('compression'); var express = require('express'); var path = require('path'); var bodyParser = require('body-parser'); var convert = require('./routes/convert'); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(compression()); app.use('/', convert); module.exports = app; 然后,我创build了Dockerfile来容器化应用程序: FROM mhart/alpine-node WORKDIR /src COPY package.json ./ COPY app.js ./ ADD routes/ ./routes/ ADD bin/ […]

带有UI的Docker中的Seleniumtesting执行

我试图在TypeError: module.exports.browser.isElementPresent is not a function机器上运行seleniumtesting(Node Js),但它说“ TypeError: module.exports.browser.isElementPresent is not a function ”。 注意: 我可以成功地在我的本地机器上运行这个相同的seleniumtesting 我试图在docker上运行相同的testing,然后我遇到了上述错误 root@6cd7ab2eb6f7:/usr/src# npm run kongaezv2 npm info it worked if it ends with ok npm info using npm@4.1.2 npm info using node@v7.6.0 npm info lifecycle cerebro@0.0.1~prekongaezv2: cerebro@0.0.1 npm info lifecycle cerebro@0.0.1~kongaezv2: cerebro@0.0.1 > cerebro@0.0.1 kongaezv2 /usr/src > mocha –recursive […]