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
Post a Comment