Docker compose up fails with `require': cannot load such file -- rack/handler/rails (LoadError) -


this dockerfile:

from rails:4.2.4 maintainer brena monteiro <me@monteirobrena.com> run mkdir -p ~/myapp copy . ~/myapp copy gemfile ~/myapp/gemfile copy gemfile ~/myapp/gemfile.lock workdir ~/myapp run bundle install cmd rails s -b 0.0.0.0 

and docker-compose.yml:

web:   build: .   command: rails s -p 3000 -b '0.0.0.0'   ports:     - '3000:8080'   volumes:     - .:/users/monteirobrena/myapp 

if run docker run docker start correctly:

docker run -v ./:/users/monteirobrena/docker/myapp -p 3000:8080 myapp 

but when run docker-compose up receive error:

➜  app git:(add-docker) ✗ docker-compose          myrecreating app_web_1 myattaching app_web_1 web_1 | /usr/local/bundle/gems/rack-1.6.4/lib/rack/handler.rb:78:in `require': cannot load such file -- rack/handler/rails (loaderror) web_1 |   /usr/local/bundle/gems/rack-1.6.4/lib/rack/handler.rb:78:in `try_require' web_1 |   /usr/local/bundle/gems/rack-1.6.4/lib/rack/handler.rb:16:in `get' web_1 |   /usr/local/bundle/gems/rack-1.6.4/lib/rack/server.rb:290:in `server' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands/server.rb:125:in `print_boot_information' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands/server.rb:75:in `start' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:80:in `block in server' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:75:in `tap' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:75:in `server' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:39:in `run_command!' web_1 |   /usr/local/bundle/gems/railties-4.2.3/lib/rails/commands.rb:17:in `<top (required)>' web_1 |   /usr/src/app/bin/rails:9:in `require' web_1 |   /usr/src/app/bin/rails:9:in `<top (required)>' web_1 |   /usr/local/bundle/gems/spring-1.6.4/lib/spring/client/rails.rb:28:in `load' web_1 |   /usr/local/bundle/gems/spring-1.6.4/lib/spring/client/rails.rb:28:in `call' web_1 |   /usr/local/bundle/gems/spring-1.6.4/lib/spring/client/command.rb:7:in `call' web_1 |   /usr/local/bundle/gems/spring-1.6.4/lib/spring/client.rb:28:in `run' web_1 |   /usr/local/bundle/gems/spring-1.6.4/bin/spring:49:in `<top (required)>' web_1 |   /usr/local/bundle/gems/spring-1.6.4/lib/spring/binstub.rb:11:in `load' web_1 |   /usr/local/bundle/gems/spring-1.6.4/lib/spring/binstub.rb:11:in `<top (required)>' web_1 |   /usr/src/app/bin/spring:13:in `require' web_1 |   /usr/src/app/bin/spring:13:in `<top (required)>' web_1 |   bin/rails:3:in `load' web_1 |   bin/rails:3:in `<main>' web_1 | exiting myapp_web_1 exited code 

any ideas?

use bundle exec start rails server, this:

 web:   build: .   command: bundle exec rails s -p 3000 -b '0.0.0.0'   ports:     - '3000:8080'   volumes:     - .:/users/monteirobrena/myapp 

Comments