docker-compose Rails spring不起作用

我用

  • 铁路4.2.5.1在集装箱内运行
  • Ruby 2.3.1运行wit容器

当我开始

$ docker-compose exec web /bin/bash # ssh into the web server $ bundle exec rails c 

我得到了以下错误。

 from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `each' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `block in require' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `each' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `require' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler.rb:106:in `require' from /usr/src/app/config/application.rb:7:in `<top (required)>' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:82:in `require' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:82:in `preload' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:143:in `serve' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:131:in `block in run' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:125:in `loop' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:125:in `run' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application/boot.rb:19:in `<top (required)>' from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 

但是我已经把pq gem放在Gemfile中。 我已经试过了,

 $ bundle update pg $ bundle uninstall pg && bundle install $ bundle exec spring binstub --all 

但是我没有运气。

当我尝试时,

 $ docker-compose exec web /bin/bash # ssh into the web server $ DISABLE_SPRING=1 bundle exec rails c 

它确实有效。 所以我觉得spring的gem不能正常工作。 另外,如果我在本地做同样的事情,它确实工作。

我认为我的docker_compose.yml没有正确设置。 有任何想法吗?

泊坞窗,compose.yml

  web: depends_on: - 'postgres' - 'redis' build: . command: rails server -b 0.0.0.0 ports: - '3000:3000' volumes: - '.:/usr/src/app' env_file: - '.env' postgres: image: 'postgres:9.4.4' environment: POSTGRES_USER: 'postgres' ports: - '5432:5432' redis: image: 'redis:3.2-alpine' command: redis-server ports: - '6379:6379' worker: depends_on: - 'postgres' - 'redis' build: . command: bundle exec sidekiq -C config/sidekiq.yml.erb volumes: - '.:/usr/src/app' env_file: - '.env'