2016-04-06 23 views
0

這是我Dockerfile:碼頭工人組成了失敗,'需要':無法加載這樣的文件 - 機架/處理器/導軌(LoadError)

FROM rails:4.2.4 
MAINTAINER Brena Monteiro <[email protected]> 
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 

而且我docker-compose.yml

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

如果我跑docker run泊塢窗是正確啓動:

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

但是當我運行docker-compose up我recei ve此錯誤:

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

任何想法?

+0

是它的工作沒有搬運工? – Cortwave

+0

是的,沒有Docker和'docker run'就可以正常工作。 – monteirobrena

回答

0

使用bundle exec啓動Rails服務器,是這樣的:

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

謝謝,但同樣的錯誤發生。 – monteirobrena

+1

這行'COPY Gemfile〜/ myapp/Gemfile.lock'應該不是'COPY Gemfile.lock〜/ myapp/Gemfile.lock'? – miligraf

+0

好吧,這是錯的。我解決了它,但同樣的錯誤。 – monteirobrena

相關問題