Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Dockrise rails/redis/sidekiq/postgres项目_Ruby On Rails_Postgresql_Docker_Redis_Sidekiq - Fatal编程技术网

Ruby on rails Dockrise rails/redis/sidekiq/postgres项目

Ruby on rails Dockrise rails/redis/sidekiq/postgres项目,ruby-on-rails,postgresql,docker,redis,sidekiq,Ruby On Rails,Postgresql,Docker,Redis,Sidekiq,我正在尝试使用sidekiq、icecast和redis对rails应用程序进行dockerize,以进行流式处理。目前,我陷入了一个错误,我已经搜索了很长一段时间来找出。 错误回溯: Successfully built 64c7adaf977d Successfully tagged radiofm20_sidekiq:latest Recreating radiofm20_radiofm_1 ... Recreating radiofm20_radiofm_1 ... done Atta

我正在尝试使用sidekiq、icecast和redis对rails应用程序进行dockerize,以进行流式处理。目前,我陷入了一个错误,我已经搜索了很长一段时间来找出。 错误回溯:

Successfully built 64c7adaf977d
Successfully tagged radiofm20_sidekiq:latest
Recreating radiofm20_radiofm_1 ... 
Recreating radiofm20_radiofm_1 ... done
Attaching to radiofm20_sidekiq_1, radiofm20_radiofm_1
sidekiq_1  | 2018-01-17T23:43:11.163Z 1 TID-6x26s INFO: Booting Sidekiq 5.0.5 with redis options {:url=>"redis://redis:6379", :id=>"Sidekiq-server-PID-1"}
sidekiq_1  | getaddrinfo: Name or service not known
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/connection/ruby.rb:210:in `getaddrinfo'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/connection/ruby.rb:210:in `connect'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/connection/ruby.rb:293:in `connect'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:334:in `establish_connection'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:99:in `block in connect'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:291:in `with_reconnect'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:98:in `connect'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:363:in `ensure_connected'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:219:in `block in process'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:304:in `logging'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:218:in `process'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:185:in `call_pipelined'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:155:in `block in call_pipeline'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:291:in `with_reconnect'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:153:in `call_pipeline'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:2353:in `block in multi'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:45:in `block in synchronize'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:45:in `synchronize'
sidekiq_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:2345:in `multi'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/client.rb:184:in `block in raw_push'
sidekiq_1  | /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:64:in `block (2 levels) in with'
sidekiq_1  | /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:63:in `handle_interrupt'
sidekiq_1  | /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:63:in `block in with'
sidekiq_1  | /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:60:in `handle_interrupt'
sidekiq_1  | /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:60:in `with'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/client.rb:183:in `raw_push'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/client.rb:74:in `push'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/worker.rb:143:in `client_push'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/worker.rb:87:in `perform_async'
sidekiq_1  | /app/config/initializers/sidekiq.rb:10:in `<top (required)>'
sidekiq_1  | /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load'
sidekiq_1  | /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `block in load'
sidekiq_1  | /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
sidekiq_1  | /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:655:in `block in load_config_initializer'
sidekiq_1  | /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/notifications.rb:168:in `instrument'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:654:in `load_config_initializer'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:611:in `each'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:611:in `block in <class:Engine>'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:30:in `instance_exec'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:30:in `run'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:59:in `block in run_initializers'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:48:in `each'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:48:in `tsort_each_child'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:415:in `call'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:415:in `each_strongly_connected_component_from'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:347:in `each'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:347:in `call'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
sidekiq_1  | /usr/local/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:58:in `run_initializers'
sidekiq_1  | /usr/local/bundle/gems/railties-5.1.4/lib/rails/application.rb:353:in `initialize!'
sidekiq_1  | /app/config/environment.rb:5:in `<top (required)>'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/cli.rb:257:in `require'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/cli.rb:257:in `boot_system'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/cli.rb:54:in `run'
sidekiq_1  | /usr/local/bundle/gems/sidekiq-5.0.5/bin/sidekiq:12:in `<top (required)>'
sidekiq_1  | /usr/local/bundle/bin/sidekiq:29:in `load'
sidekiq_1  | /usr/local/bundle/bin/sidekiq:29:in `<main>'
radiofm20_sidekiq_1 exited with code 1
radiofm_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:344:in `rescue in establish_connection': Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) (Redis::CannotConnectError)
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:328:in `establish_connection'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:99:in `block in connect'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:291:in `with_reconnect'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:98:in `connect'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:363:in `ensure_connected'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:219:in `block in process'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:304:in `logging'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:218:in `process'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:185:in `call_pipelined'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:155:in `block in call_pipeline'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:291:in `with_reconnect'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:153:in `call_pipeline'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:2353:in `block in multi'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:45:in `block in synchronize'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:45:in `synchronize'
radiofm_1  |     from /usr/local/bundle/gems/redis-4.0.1/lib/redis.rb:2345:in `multi'
radiofm_1  |     from /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/client.rb:184:in `block in raw_push'
radiofm_1  |     from /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:64:in `block (2 levels) in with'
radiofm_1  |     from /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:63:in `handle_interrupt'
radiofm_1  |     from /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:63:in `block in with'
radiofm_1  |     from /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:60:in `handle_interrupt'
radiofm_1  |     from /usr/local/bundle/gems/connection_pool-2.2.1/lib/connection_pool.rb:60:in `with'
radiofm_1  |     from /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/client.rb:183:in `raw_push'
radiofm_1  |     from /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/client.rb:74:in `push'
radiofm_1  |     from /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/worker.rb:143:in `client_push'
radiofm_1  |     from /usr/local/bundle/gems/sidekiq-5.0.5/lib/sidekiq/worker.rb:87:in `perform_async'
radiofm_1  |     from /app/config/initializers/sidekiq.rb:10:in `<top (required)>'
radiofm_1  |     from /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load'
radiofm_1  |     from /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `block in load'
radiofm_1  |     from /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
radiofm_1  |     from /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:655:in `block in load_config_initializer'
radiofm_1  |     from /usr/local/bundle/gems/activesupport-5.1.4/lib/active_support/notifications.rb:168:in `instrument'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:654:in `load_config_initializer'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:611:in `each'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/engine.rb:611:in `block in <class:Engine>'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:30:in `instance_exec'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:30:in `run'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:59:in `block in run_initializers'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:48:in `each'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:48:in `tsort_each_child'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:415:in `call'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:415:in `each_strongly_connected_component_from'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:347:in `each'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:347:in `call'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
radiofm_1  |     from /usr/local/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/initializable.rb:58:in `run_initializers'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/application.rb:353:in `initialize!'
radiofm_1  |     from /app/config/environment.rb:5:in `<top (required)>'
radiofm_1  |     from config.ru:3:in `require_relative'
radiofm_1  |     from config.ru:3:in `block in <main>'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/builder.rb:55:in `instance_eval'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/builder.rb:55:in `initialize'
radiofm_1  |     from config.ru:in `new'
radiofm_1  |     from config.ru:in `<main>'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/builder.rb:49:in `eval'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/builder.rb:49:in `new_from_string'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/builder.rb:40:in `parse_file'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/server.rb:319:in `build_app_and_options_from_config'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/server.rb:219:in `app'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands/server/server_command.rb:24:in `app'
radiofm_1  |     from /usr/local/bundle/gems/rack-2.0.3/lib/rack/server.rb:354:in `wrapped_app'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands/server/server_command.rb:80:in `log_to_stdout'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands/server/server_command.rb:42:in `start'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands/server/server_command.rb:135:in `block in perform'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands/server/server_command.rb:130:in `tap'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands/server/server_command.rb:130:in `perform'
radiofm_1  |     from /usr/local/bundle/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
radiofm_1  |     from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
radiofm_1  |     from /usr/local/bundle/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/command/base.rb:63:in `perform'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/command.rb:44:in `invoke'
radiofm_1  |     from /usr/local/bundle/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>'
radiofm_1  |     from /app/bin/rails:9:in `require'
radiofm_1  |     from /app/bin/rails:9:in `<top (required)>'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
radiofm_1  |     from /usr/local/bundle/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
radiofm_1  |     from /app/bin/spring:15:in `require'
radiofm_1  |     from /app/bin/spring:15:in `<top (required)>'
radiofm_1  |     from bin/rails:3:in `load'
radiofm_1  |     from bin/rails:3:in `<main>'
radiofm_1  | => Booting Puma
radiofm_1  | => Rails 5.1.4 application starting in development 
radiofm_1  | => Run `rails server -h` for more startup options
radiofm_1  | Exiting
radiofm20_radiofm_1 exited with code 1
Dockerfile(有点乱,请容忍我)

我如何可能修复此getaddrinfo错误?我认为这是sidekiq和redis之间的某种连接错误。 我的sidekiq.rb配置文件中也有这个

 Sidekiq.configure_server do |config|
      config.redis = { url: 'redis://redis:6379' }
    end
提前谢谢。如果我的帖子有点模棱两可,我很抱歉。请随便问任何问题。:)

编辑:我使用这个sidekiq.rb文件部署了基础Rails应用程序(可以在端口localhost:3000上侦听),但现在我遇到了这个错误

web_1  | /usr/local/bundle/gems/redis-4.0.1/lib/redis/connection/ruby.rb:210:in `getaddrinfo': getaddrinfo: Name or service not known (SocketError)
sidekiq.rb文件:

Sidekiq.configure_server do |config|
  config.redis = { url: 'redis://redis:6379' }
end
Sidekiq.configure_client do |config|
    config.redis = { url: 'redis://redis:6379'}
end

RadioWorker.perform_async
TestWorker.perform_async
JazzWorker.perform_async
更新:修复了redis错误现在面临的问题与停靠POSTGRES 当应用程序在localhost:3000上运行时,我收到以下错误消息:

我的docker撰写文件:

version: "3.0"
services:
  postgres:
    image: 'postgres:9.6'
    environment:
      - PGDATA=/var/lib/postgresql/data/pgdata
      - POSTGRES_PASSWORD=
      - POSTGRES_USER=postgres
    networks:
      - default
    volumes:
      - 'postgres:/var/lib/postgresql/data'
    labels:
      description: "Postgresql Database"
      service: "postgresql"
  redis:
    image: redis
    ports:
      - 6379:6379
    volumes:
      - 'redis:/data'
    command: redis-server --appendonly yes  
  web:
    build: 
      context: "./"
      dockerfile: Dockerfile-development
    volumes:
      - .:/src
    env_file:
      - './src/.env'
    environment:
      - REDIS-URL=redis://redis:6379/
      - POSTGRES-URL=postgres://postgres:5432/
    depends_on: 
      - redis
      - postgres
    ports:
      - "3000:3000"
volumes:
  redis:
  postgres:

Dockerfile用于构建映像,而不是运行守护进程。docker构建的结果是静态的(docker图像)。我建议您直接从docker-compose.yml运行redis

redis:
  image: redis

radiofm:
  (...)
  depends_on: redis
  (...)
PostgreSQL也是如此。如果您确实需要在容器启动时设置映像以运行守护进程,那么应该使用脚本来调优CMD


此外,您只能使用CMD一次。

您能发布完整的docker compose.yml吗?redis是否在同一docker compose中?@whites11是的,我一定已经发布了服务和版本,没有其他内容:版本:“3.0”服务:@Robert我在docker compose文件中没有单独的redis映像我通过docker文件开发在第47行安装它运行apt get install-y redis server运行redis server--daemonize yesOk如果我这样尝试的话它是以你为例的,但我似乎无法建立联系。查看更新的信息:)将my database.yml中的host:localhost更改为host:postgres,现在我得到的数据库“development\u db”不存在
version: "3.0"
services:
  postgres:
    image: 'postgres:9.6'
    environment:
      - PGDATA=/var/lib/postgresql/data/pgdata
      - POSTGRES_PASSWORD=
      - POSTGRES_USER=postgres
    networks:
      - default
    volumes:
      - 'postgres:/var/lib/postgresql/data'
    labels:
      description: "Postgresql Database"
      service: "postgresql"
  redis:
    image: redis
    ports:
      - 6379:6379
    volumes:
      - 'redis:/data'
    command: redis-server --appendonly yes  
  web:
    build: 
      context: "./"
      dockerfile: Dockerfile-development
    volumes:
      - .:/src
    env_file:
      - './src/.env'
    environment:
      - REDIS-URL=redis://redis:6379/
      - POSTGRES-URL=postgres://postgres:5432/
    depends_on: 
      - redis
      - postgres
    ports:
      - "3000:3000"
volumes:
  redis:
  postgres:
redis:
  image: redis

radiofm:
  (...)
  depends_on: redis
  (...)