Error after running docker-compose without adding puma

912 Views Asked by At

I forgot to add puma in Gemfile before run docker-compose. after the docker-compose download and build all dependencies. It come up with an error that I bring in the block here.

app_1        | bundler: command not found: puma
app_1        | Install missing gem executables with `bundle install`
ibuy7_db_backup_1 exited with code 0
ibuy7_app_1 exited with code 127

How should I solve this problem. Plz help me

2

There are 2 best solutions below

0
Sarmad Rezayat On

I find a solution. I used this command "docker-compose run app bundle install" to install puma and it seams that it installed but steel I have same error. Attaching to ibuy7_db_1, ibuy7_db_backup_1, ibuy7_app_1, ibuy7_nginx_1 app_1 | bundler: command not found: puma app_1 | Install missing gem executables with bundle install ibuy7_db_backup_1 exited with code 0 db_1 | LOG: database system was shut down at 2017-08-13 07:30:28 UTC db_1 | LOG: MultiXact member wraparound protections are now enabled db_1 | LOG: autovacuum launcher started db_1 | LOG: database system is ready to accept connections db_1 | LOG: received smart shutdown request db_1 | LOG: autovacuum launcher shutting down db_1 | LOG: shutting down db_1 | LOG: database system is shut down db_1 | LOG: database system was shut down at 2017-08-13 07:35:16 UTC db_1 | LOG: MultiXact member wraparound protections are now enabled db_1 | LOG: database system is ready to accept connections db_1 | LOG: autovacuum launcher started db_1 | LOG: received smart shutdown request db_1 | LOG: autovacuum launcher shutting down db_1 | LOG: shutting down db_1 | LOG: database system is shut down db_1 | LOG: database system was shut down at 2017-08-13 07:41:30 UTC db_1 | LOG: MultiXact member wraparound protections are now enabled db_1 | LOG: database system is ready to accept connections db_1 | LOG: autovacuum launcher started ibuy7_app_1 exited with code 127 nginx_1 | 2017/08/13 07:44:27 [emerg] 1#1: host not found in upstream "app:3000" in /etc/nginx/conf.d/default.conf:2 nginx_1 | nginx: [emerg] host not found in upstream "app:3000" in /etc/nginx/conf.d/default.conf:2 ibuy7_nginx_1 exited with code 1

0
user2529704 On

If your Dockerfile doesn't have commands to install bundler and other required files then then the image will not have them when you start the container.

If you run docker-compose run app gem install bundler then the new files are lost when that container stops.

You may want to add 'gem install bundler; bundle install; bundle exec rails s' to your docker-compose.yml CMD