簡體   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