2015-09-29 4 views
0

У меня очень простое приложение node.js, клонированное от this, и единственным дополнением является то, что он подключается к экземпляру RDS. Он работает нормально локально (OSX с boot2docker) и работает в течение нескольких минут, когда я помещаю его в контейнер Docker, а затем внезапно страница больше не отображается, и я получаю пустой ответ от сервера. Контейнер все еще работает, но я получаю странное сообщение в журналах. Ниже приведены различные файлы.Приложение Node.js неожиданно выходит из строя на локальном Docker

Что мне здесь не хватает?

Docker Run Command docker run -p 49161:3000 -d <image name>

Dockerfile

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 [email protected] 
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 F Ile

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; 

Update 1 Интересно ... это выглядит как контейнер больше не работает после ~ 15 минут. Он работал, пока я получаю страницу Empty response, но теперь я могу подтвердить, что контейнер больше не работает. Если повторно выполнить docker run, я вижу кратковременную загрузку страницы и контейнер вверх.

ответ

0

Я отправляю это, чтобы помочь кому-то еще, кто сталкивается с этим. По сути, изменение моего Dockerfile разрешило это. По-видимому, память в оригинальном контейнере была чрезвычайно высокой и вызывала крах контейнера. Я до сих пор не понимаю, почему это происходит, и я использовал большую часть оригинала Dockerfile, потому что это то, что я нашел в примерах Docker.

Пересмотренный Dockerfile

FROM node:0.10-onbuild 

RUN npm install supervisor -g 
RUN npm install pg --save 

EXPOSE 3000 
Смежные вопросы