node.js - Not able to run Meteor application in Docker container because of couldn't run ps ax error -


i created docker image dockerfile run sample meteor application. dockerfile follows.

from node:0.10.30  run curl https://install.meteor.com/ | sh run npm install -g meteorite  run cd /tmp && npm install libxmljs exec-sync path run mkdir -p /home/app && cp -a /tmp/node_modules /home/app/  add src/ /home/app/  workdir /home/app  env port 3000 expose 3000 

my code uses 3 npm packages libxmljs, exec-sync , path got installed successfully. meteor application code , .meteor folder copied /home/app inside docker image. when try run meteor application, following error.

sudo docker run -t -i 46630d0dc02e meteor [[[[[ ~home/app ]]]]]  => started proxy. => starting mongodb... - /.meteor/tools/cef2bcd356/lib/node_modules/fibers/future.js:206                         throw(ex);                               ^ error: couldn't run ps ax: {"killed":false,"code":127,"signal":null}; command failed: /bin/sh: 1: ps: not found     @ object.future.wait (/.meteor/tools/cef2bcd356/lib/node_modules/fibers/future.js:326:15)     @ findmongopids (/.meteor/tools/cef2bcd356/tools/run-mongo.js:89:14)     @ findmongoandkillitdead (/.meteor/tools/cef2bcd356/tools/run-mongo.js:119:14)     @ launchonemongoandwaitforreadyforinitiate (/.meteor/tools/cef2bcd356/tools/run-mongo.js:234:5)     @ launchmongo (/.meteor/tools/cef2bcd356/tools/run-mongo.js:496:7)     @ _.extend._startorrestart (/.meteor/tools/cef2bcd356/tools/run-mongo.js:585:19)     @ _.extend.start (/.meteor/tools/cef2bcd356/tools/run-mongo.js:551:10)     @ _.extend.start (/.meteor/tools/cef2bcd356/tools/run-all.js:131:24)     @ object.exports.run (/.meteor/tools/cef2bcd356/tools/run-all.js:272:10)     @ main.registercommand.name [as func] (/.meteor/tools/cef2bcd356/tools/commands.js:210:17)     @ /.meteor/tools/cef2bcd356/tools/main.js:949:23     - - - - -      @ /.meteor/tools/cef2bcd356/tools/run-mongo.js:59:22     @ childprocess.exithandler (child_process.js:651:7)     @ childprocess.emit (events.js:98:17)     @ maybeclose (child_process.js:755:16)     @ socket.<anonymous> (child_process.js:968:11)     @ socket.emit (events.js:95:17)     @ pipe.close (net.js:465:12) 

i appreciate if explain reason error , suggest solution or workaround running meteor application in docker container.

node image dosen't have ps command.

$ docker run -t -i node:0.10.30 bash root@1d5c5e3ec748:/# ps bash: ps: command not found root@f1d530730c37:/# find / -name ps -type f root@f1d530730c37:/#  

use base image have ps command or install ps command on image adding run directive dockerfile below.

from node:0.10.30  # install ps command run apt-get update run apt-get install procps  run curl https://install.meteor.com/ | sh run npm install -g meteorite  run cd /tmp && npm install libxmljs exec-sync path run mkdir -p /home/app && cp -a /tmp/node_modules /home/app/  add src/ /home/app/  workdir /home/app  env port 3000 expose 3000 

i tested it, , works fine.

$ docker run -t -i nacyot/meteor bash root@0b56bf009532:/home/app/test# meteor create test root@0b56bf009532:/home/app/test# cd test root@0b56bf009532:/home/app/test# meteor  => app running at: http://localhost:3000/ root@0b56bf009532:/home/app/test# meteor [[[[[ ~home/app/test ]]]]]  => started proxy. => started mongodb.      => started app.     => app running at: http://localhost:3000/ 

Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -