ruby-on-rails – 如何在rails应用程序中将sidekiq放入Docker?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在rails应用程序中将sidekiq放入Docker?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用rails,sidekiq和docker.

我的docker-compose.yml文件

  1. sidekiq:
  2. build: .
  3. command: bundle exec sidekiq -C config/sidekiq.yml
  4. links:
  5. - db
  6. - redis

config / sidekiq.yml文件

  1. :pidfile: ./tmp/pids/sidekiq.pid
  2. :logfile: ./log/sidekiq.log
  3. :queues:
  4. - default

运行docker-compose后,sidekiq服务无法正常启动.

  1. sidekiq_1 | No such file or directory @ rb_sysopen - /testapp/tmp/pids/sidekiq.pid
  2. sidekiq_1 | /usr/local/bundle/gems/sidekiq-3.5.3/lib/sidekiq/cli.rb:365:in `initialize'
  3. sidekiq_1 | /usr/local/bundle/gems/sidekiq-3.5.3/lib/sidekiq/cli.rb:365:in `open'
  4. sidekiq_1 | /usr/local/bundle/gems/sidekiq-3.5.3/lib/sidekiq/cli.rb:365:in `write_pid'
  5. sidekiq_1 | /usr/local/bundle/gems/sidekiq-3.5.3/lib/sidekiq/cli.rb:42:in `parse'
  6. sidekiq_1 | /usr/local/bundle/gems/sidekiq-3.5.3/bin/sidekiq:12:in `required)>'
  7. sidekiq_1 | /usr/local/bundle/bin/sidekiq:16:in `load'
  8. sidekiq_1 | /usr/local/bundle/bin/sidekiq:16:in `
最佳答案
尝试安装卷.您的docker-compose文件应该如下所示(使用Posgtresql作为数据库):

  1. web:
  2. build: .
  3. volumes:
  4. - .:/myapp
  5. links:
  6. - db
  7. - redis
  8. ports:
  9. - "3000:3000"
  10. command: bundle exec rails server -b 0.0.0.0
  11. sidekiq:
  12. build: .
  13. volumes:
  14. - .:/myapp
  15. links:
  16. - db
  17. - redis
  18. command: bundle exec sidekiq
  19. db:
  20. image: postgres
  21. redis:
  22. image: redis

猜你在找的Docker相关文章