繁体   English   中英

Node.js应用突然在本地Docker上失败

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM