Tag: node.js

一个npm项目的Dockerfile

我正在尝试为crates.io项目添加一个docker -compose安装程序 。 npm片断的当前文件如下: FROM node:8.4 ENV npm_config_global true COPY package.json package-lock.json ./ RUN npm install 这一切都很好,但是当我试图build立它时,它所做的只是: Building frontend Step 1/4 : FROM node:8.4 —> 6f6ffe2a1302 Step 2/4 : ENV npm_config_global true —> Using cache —> 868e1aec7aac Step 3/4 : COPY package.json ./ —> 3846f64854e0 Removing intermediate container a1dea9f3f3a2 Step 4/4 : RUN npm install […]

Docker Node.JS无法访问网站

我无法加载托pipe在Docker容器外的Node.JS托pipe网站。 这是我跑步的步骤: docker build -t website-server . docker run -d -p 80:8080 website-server docker ps -a docker logs <ID> 日志显示服务器端口8080正常运行,console.log文本被打印。 我的app.js文件的重要部分: http.createServer().listen(8080, (req, res) => { console.log("Started server"); }); 我的Dockerfile: FROM node:8.4.0 WORKDIR /usr/src/app COPY package.json . RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "start" ] 一切工作正常,但当我去通过通常的域名(或我的虚拟机的IP或我的容器的IP)访问该网站,它不加载。 我猜测我忽略了安装过程中的一个关键步骤,或者犯了一个错误。 任何人都可以帮忙吗?

Docker命令在Jenkins文件中用于Jenkinspipe道

我有一个Jenkinsfile来执行我的end2endtesting(基于NodeJStesting框架Nightwatch-Cucumber和Nightwatch.js )在一个Docker container内的一个Jenkinspipe道上,它Docker container docker stop , docker rm , docker pull , docker run和docker exec 。 所以,Jenkinspipe道作业拉取一个Docker image ,创build一个Docker container ,启动它,并在这个启动的Docker container执行end2endtesting。 最后会生成一个Cucumber report 。 这是我目前的Jenkinsfile : pipeline { agent any parameters { string(defaultValue: 'grme/nightwatch-chrome-firefox:0.0.3', description: '', name: 'docker_image') string(defaultValue: 'npm-test-chrome', description: '', name: 'run_script_method') string(defaultValue: '/Applications/Docker.app/Contents/Resources/bin/docker', description: '', name: 'docker') } stages { […]

在Docker上使用MongoDB部署NodeJS

我正在构build一个使用MongoDB作为数据库的NodeJS应用程序。 我认为,在不同平台之间的可移植性以及版本和比较方面,将会更有意义,从而将应用程序部署在Docker中。 通过互联网上的各种build议,这里是我的具体问题: (a)我是否将我的应用程序代码(nodejs)复制到Docker中? 还是在主机上保留源代码,并使用Volumes将代码库提供给Docker? ( 只是为了试验,我有docker文件指令,直接从图像库中取出代码,它可以工作,但是这是一个好的做法,或者我应该把代码拉到Docker容器外部,并使用Volumes /复制代码 )? (b)当我安装所有我的应用程序依赖项时,我的node_module大小爆炸几乎250 MB。 那么你会推荐运行npm install(作为依赖)作为Docker的一步,这将增加我的图像的大小? 还是有其他的select,你可以推荐? (c)连接数据库的build议是什么? 你会推荐,使用MongoDB图像的另一个docker容器,并使用docker定义networking和数据库之间的依赖关系? 除此之外,还有可configuration的运行时属性,以便应用程序在不同的环境(PROD,STAGE,DEV)中可以连接到不同的数据库(mongodb)。 想法/build议非常感谢。 我相信,我可能会提出一些你可能在某个时候遇到的问题,采取不同的方法,有利有弊。

ERR_CONNECTION_RESET – 与在Docker中运行的服务Adonis js相同

根据文档,我用cli完成了adonis js的安装,但是我不能在web上访问主页面。 当我尝试访问时,我得到ERR_CONNECTION_RESET 。 Obs:端口是免费的,我已经改变了.env文件; / 我在同一个容器上有一个vue.js的应用程序,他完美的工作! 对不起,英文,我巴西没有翻译的时间; / [nodemon] 1.11.0 [nodemon] to restart at any time, enter `rs` [nodemon] watching: /var/www/html/node_modules/yardstick/app/**/* /var/www/html/node_modules/yardstick/bootstrap/**/* /var/www/html/node_modules/yardstick/config/**/* .env [nodemon] starting `node server.js` info adonis:framework +0ms serving app on localhost:9210

lsof命令在两个不同的数据卷中

我使用'lsof'命令来获取打开文件的名称。 我创build了两个不同的docker图像,都有自己的数据卷。 两个数据卷都映射到相同的文件夹,以便在任何给定的时间都可以访问相同的文件。 当我在一个数据卷中运行'lsof'命令时,虽然它被映射到相同的文件夹,但它只显示其打开的文件。 当我运行ls命令时,显示所有文件。 以下是两个不同的数据量输出丢失的命令: 有什么办法可以解决这个问题吗?

Docker撰写,反应JS应用程序构build,以及如何传递给第一个nginx

我正在努力与节点reactJS应用程序和docker。 我使用docker-compose,有很多微服务,dbs等。所有在nginx(官方图片)后面。 我在前端有reactJS应用程序,它使用npm生成生成,生成dist /文件夹。 目前它behing apache服务器。 什么是正确的方式来configuration它? 我正在考虑可能,在reactJS应用程序,做这个build立,创build音量(卷Im我不是很熟悉..),并分享这个卷到Nginx。 可能吗 ? 也许我也可以做这个应用程序的Dockerfile,这将使用一些HTTP服务器,如Apache或Nginx,并从第一个Nginx的proxy_passredirect到此,但什么设置2。 谢谢! 我的docker组成文件的一部分: version: '2' services: ######## NGINX ######## nginx: image: nginx ports: – "9000:80" environment: NGINX_PORT: 80 volumes: – ./resources/nginx:/etc/nginx 和前台应用程序: fr-client: image: qwe123/fr-client:1.0

能够连接到本地运行在Docker容器中的MongoDB,但不能从另一个容器中运行

基本上是什么标题说:我能够连接到本地运行在Docker容器中的MongoDB数据库,但是我无法从另一个Docker容器中这样做。 我得到错误“MongoError:未能连接到服务器{服务器地址}:27017在第一次连接” 这是我的configuration文件: const mongoose = require('mongoose'); mongoose.Promise = global.Promise let mongoURI = { development: 'mongodb://{server address}:27017/database, } const db = mongoose.connect(mongoURI.development, function(err, res) { if(err) { console.log('Error connecting to the database. ' + err); } else { console.log('Connected to Database: ' + mongoURI.development); } }); module.exports = db;

在Docker-Compose上运行时找不到模块

我准备在生产中使用Dockerfile。 但由于某种原因,最后一条命令返回错误。 react_1 | [WEBPACK] Building 1 target react_1 | [WEBPACK] Started building bundle.[chunkhash].js react_1 | [WEBPACK] Build failed after 33.631 seconds react_1 | [WEBPACK] Errors building bundle.[chunkhash].js react_1 | Module not found: Error: Can't resolve './App' in '/home/app/react/src' 这是docker文件的副本 Dockerfile.prod FROM node:7.10.1-alpine RUN apk update ENV HOME=/home/app COPY . $HOME/react/ RUN npm install yarn […]

Elastic Beanstalk / Docker – 没有这样的文件或目录package.json

我正在使用Elastic beanstalk来启动一个使用nodejs容器和mongodb容器的应用程序。 我已经为节点networking应用程序创build了自己的图像,并且我可以使用此图像在本地创build容器,并且在EC2实例上创build容器,而不存在问题。 当使用Beanstalk启动应用程序时,CMD“npm run prod”无法find我的package.json文件。 以下是关于我的设置和问题的一些注意事项: 使用Elastic Beanstalk多容器Docker环境 在两个图像中使用Dockerrun.aws.json文件:在dockerhub上托pipe的Mongo和自定义nodejs Web应用程序图像 我可以把图像拉下来,用'Docker run npm run prod'运行它,它可以工作(本地和EB创build的EC2实例) 当EB尝试启动图像(使用相同的命令),它出错了,并说它无法findpackage.json(详情见下面的错误)。 我不确定是否对Elastic Beanstalk的工作原理有误解,或者是否有其他缺失的地方。 Dockerrun.aws.json文件(图像名称和环境variables被删除): { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "mongo-vol", "host": { "sourcePath": "/var/app/mongo-vol" } }, { "name": "web-vol", "host": { "sourcePath": "/var/app/web-vol" } } ], "containerDefinitions": [ { "name": "mongo", "image": "mongo:3.4", "essential": false, "memory": 128 […]