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'