[英]Node.js app suddenly fails on local Docker
我有一个从克隆一个非常简单的Node.js应用此 ,唯一增加的是,它连接到一个RDS实例。 它在本地运行良好(带有boot2docker
OSX),当我将其放置在Docker容器中时运行了几分钟,然后突然间,该页面不再呈现,并且服务器收到空响应。 容器仍在运行,但是我在日志中收到一条奇怪的消息。 各种文件如下。
我在这里想念什么?
Docker运行命令 docker run -p 49161:3000 -d <image name>
Docker文件
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 -y install node
RUN yum install -y npm
RUN npm install -g express-generator@4
RUN npm install supervisor -g
RUN npm install pg --save
RUN npm install winston --save
# Bundle app source
COPY . /
# Install app dependencies
RUN npm install
EXPOSE 3000
CMD ["npm", "start"]
Docker日志
crashing child
Error reading path: /proc/1/task/1/cwd/proc/1/map_files
Error reading path: /proc/1/task/1/cwd/proc/10/map_files
Error reading path: /proc/1/task/1/cwd/proc/self/map_files
Error reading path: /proc/1/task/1/root/proc/10/map_files
Error reading path: /proc/1/task/1/root/proc/1/map_files
Error reading path: /proc/1/task/1/root/proc/self/map_files
Error reading path: /proc/1/task/5/cwd/proc/1/map_files
Error reading path: /proc/1/task/5/cwd/proc/10/map_files
Error reading path: /proc/1/task/5/cwd/proc/self/map_files
Error reading path: /proc/1/task/5/root/proc/1/map_files
Error reading path: /proc/1/task/5/root/proc/10/map_files
Error reading path: /proc/1/task/5/root/proc/self/map_files
Error reading path: /proc/1/task/6/cwd/proc/10/map_files
Error reading path: /proc/1/task/6/cwd/proc/1/map_files
Error reading path: /proc/1/task/6/cwd/proc/self/map_files
Error reading path: /proc/1/task/6/root/proc/1/map_files
Error reading path: /proc/1/task/6/root/proc/10/map_files
Error reading path: /proc/1/task/6/root/proc/self/map_files
Error reading path: /proc/1/task/8/cwd/proc/1/map_files
Error reading path: /proc/1/task/8/cwd/proc/10/map_files
Error reading path: /proc/1/task/8/cwd/proc/self/map_files
Error reading path: /proc/1/task/8/root/proc/1/map_files
Error reading path: /proc/1/task/8/root/proc/10/map_files
Error reading path: /proc/1/task/8/root/proc/self/map_files
Error reading path: /proc/1/task/9/cwd/proc/1/map_files
Error reading path: /proc/1/task/9/cwd/proc/10/map_files
Error reading path: /proc/1/task/9/cwd/proc/self/map_files
Error reading path: /proc/1/task/9/root/proc/1/map_files
Error reading path: /proc/1/task/9/root/proc/10/map_files
Error reading path: /proc/1/task/9/root/proc/self/map_files
Error reading path: /proc/1/task/7/cwd/proc/1/map_files
Error reading path: /proc/1/task/7/cwd/proc/10/map_files
Error reading path: /proc/1/task/7/cwd/proc/self/map_files
Error reading path: /proc/1/task/7/root/proc/1/map_files
Error reading path: /proc/1/task/7/root/proc/10/map_files
Error reading path: /proc/1/task/7/root/proc/self/map_files
Error reading path: /proc/10/task/11/cwd/proc/1/map_files
Error reading path: /proc/10/task/11/cwd/proc/10/map_files
Error reading path: /proc/10/task/11/cwd/proc/self/map_files
Error reading path: /proc/10/task/11/root/proc/10/map_files
Error reading path: /proc/10/task/11/root/proc/1/map_files
Error reading path: /proc/10/task/11/root/proc/self/map_files
Error reading path: /proc/10/task/13/cwd/proc/1/map_files
Error reading path: /proc/10/task/13/cwd/proc/10/map_files
Error reading path: /proc/10/task/13/cwd/proc/self/map_files
Error reading path: /proc/10/task/13/root/proc/1/map_files
Error reading path: /proc/10/task/13/root/proc/10/map_files
Error reading path: /proc/10/task/13/root/proc/self/map_files
Error reading path: /proc/10/task/10/cwd/proc/1/map_files
Error reading path: /proc/10/task/10/cwd/proc/10/map_files
Error reading path: /proc/10/task/10/cwd/proc/self/map_files
Error reading path: /proc/10/task/10/root/proc/10/map_files
Error reading path: /proc/10/task/10/root/proc/1/map_files
Error reading path: /proc/10/task/10/root/proc/self/map_files
Error reading path: /proc/10/task/14/cwd/proc/1/map_files
Error reading path: /proc/10/task/14/cwd/proc/10/map_files
Error reading path: /proc/10/task/14/cwd/proc/self/map_files
Error reading path: /proc/10/task/14/root/proc/1/map_files
Error reading path: /proc/10/task/14/root/proc/10/map_files
Error reading path: /proc/10/task/14/root/proc/self/map_files
Error reading path: /proc/10/task/16/cwd/proc/1/map_files
Error reading path: /proc/10/task/16/cwd/proc/10/map_files
Error reading path: /proc/10/task/16/cwd/proc/self/map_files
Error reading path: /proc/10/task/16/root/proc/10/map_files
Error reading path: /proc/10/task/16/root/proc/1/map_files
Error reading path: /proc/10/task/16/root/proc/self/map_files
Error reading path: /proc/10/task/15/cwd/proc/1/map_files
Error reading path: /proc/10/task/15/cwd/proc/10/map_files
Error reading path: /proc/10/task/15/cwd/proc/self/map_files
Error reading path: /proc/10/task/15/root/proc/1/map_files
Error reading path: /proc/10/task/15/root/proc/10/map_files
Error reading path: /proc/10/task/15/root/proc/self/map_files
Error reading path: /proc/self/task/10/cwd/proc/1/map_files
Error reading path: /proc/self/task/10/cwd/proc/10/map_files
Error reading path: /proc/self/task/10/cwd/proc/self/map_files
Error reading path: /proc/self/task/10/root/proc/1/map_files
Error reading path: /proc/self/task/10/root/proc/10/map_files
Error reading path: /proc/self/task/10/root/proc/self/map_files
Error reading path: /proc/self/task/11/cwd/proc/1/map_files
Error reading path: /proc/self/task/11/cwd/proc/10/map_files
Error reading path: /proc/self/task/11/cwd/proc/self/map_files
Error reading path: /proc/self/task/11/root/proc/10/map_files
Error reading path: /proc/self/task/11/root/proc/1/map_files
Error reading path: /proc/self/task/11/root/proc/self/map_files
Error reading path: /proc/self/task/13/cwd/proc/1/map_files
Error reading path: /proc/self/task/13/cwd/proc/10/map_files
Error reading path: /proc/self/task/13/cwd/proc/self/map_files
Error reading path: /proc/self/task/13/root/proc/1/map_files
Error reading path: /proc/self/task/13/root/proc/10/map_files
Error reading path: /proc/self/task/13/root/proc/self/map_files
Error reading path: /proc/self/task/14/cwd/proc/1/map_files
Error reading path: /proc/self/task/14/cwd/proc/10/map_files
Error reading path: /proc/self/task/14/cwd/proc/self/map_files
Error reading path: /proc/self/task/14/root/proc/1/map_files
Error reading path: /proc/self/task/14/root/proc/10/map_files
Error reading path: /proc/self/task/14/root/proc/self/map_files
Error reading path: /proc/self/task/15/cwd/proc/1/map_files
Error reading path: /proc/self/task/15/cwd/proc/10/map_files
Error reading path: /proc/self/task/15/cwd/proc/self/map_files
Error reading path: /proc/self/task/15/root/proc/1/map_files
Error reading path: /proc/self/task/15/root/proc/10/map_files
Error reading path: /proc/self/task/15/root/proc/self/map_files
Error reading path: /proc/self/task/16/cwd/proc/1/map_files
Error reading path: /proc/self/task/16/cwd/proc/10/map_files
Error reading path: /proc/self/task/16/cwd/proc/self/map_files
Error reading path: /proc/self/task/16/root/proc/1/map_files
Error reading path: /proc/self/task/16/root/proc/10/map_files
Error reading path: /proc/self/task/16/root/proc/self/map_files
app.js文件
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('./utils/logger');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./server/routes/index');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
//app.use(logger('dev'));
app.use(require('morgan')({ "stream": logger.stream }));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, './client', 'public')));
app.use('/', routes);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
更新1有趣...似乎容器在大约15分钟后不再运行。 当我得到Empty response
页面时,它正在运行,但是现在我可以确认容器不再运行。 如果重新执行docker run
,我确实会看到页面加载简短,并且容器已打开。
我发布此消息是为了帮助遇到此问题的其他任何人。 本质上,修改我的Dockerfile
解决此问题。 显然,原始容器中的内存过高,导致容器崩溃。 我仍然不清楚为什么会发生这种情况,并且我只使用了大多数原始Dockerfile
因为这是我在Docker示例中找到的。
修订的Dockerfile
FROM node:0.10-onbuild
RUN npm install supervisor -g
RUN npm install pg --save
EXPOSE 3000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.