【问题标题】:amqp rabbitmq configuration to run a ruby script by using docker run command使用 docker run 命令运行 ruby​​ 脚本的 amqp rabbitmq 配置
【发布时间】:2018-07-09 20:21:25
【问题描述】:

我正在尝试使用 docker run 命令为后端服务运行 ruby​​ 脚本。

  • 在 Dockerfile 中添加CMD ["./bin/ruby_code_name"]
  • 构建映像后运行docker run -it --name=containerName --rm testimage 命令。

它显示以下错误:

E, [2018-07-09T20:09:25.039697 #1] ERROR -- : [amqp] Detected TCP connection failure: Errno::ECONNREFUSED /usr/local/rvm/gems/ruby-2.1.9/gems/amqp-1.6.0/lib/amqp/session.rb:182:in `block in initialize': Could not establish TCP connection to 127.0.0.1:5672 (AMQP::TCPConnectionFailed) from /usr/local/rvm/gems/ruby-2.1.9/gems/amqp-1.6.0/lib/amqp/session.rb:796:in `call' from /usr/local/rvm/gems/ruby-2.1.9/gems/amqp-1.6.0/lib/amqp/session.rb:796:in `tcp_connection_failed' from /usr/local/rvm/gems/ruby-2.1.9/gems/amqp-1.6.0/lib/amqp/session.rb:639:in `unbind' from /usr/local/rvm/gems/ruby-2.1.9/gems/eventmachine-1.0.9/lib/eventmachine.rb:1468:in `event_callback' from /usr/local/rvm/gems/ruby-2.1.9/gems/eventmachine-1.0.9/lib/eventmachine.rb:193:in `run_machine' from /usr/local/rvm/gems/ruby-2.1.9/gems/eventmachine-1.0.9/lib/eventmachine.rb:193:in `run' from ./bin/ruby_code_name:216:in `<main>'

如何配置 amqp 或 rabbitmq 或 bunny 来运行 ruby​​ 脚本?

【问题讨论】:

  • 在 Docker 上下文中使用 127.0.0.1 或 localhost 几乎总是错误的;您需要为 AMQP 代理配置其他名称,具体取决于它是在另一个 Docker 容器中还是在其他地方运行。
  • 它没有在另一个 docker 容器中运行。它在我的本地机器上运行。我将此添加为环境变量AMQP_RECEIVE_URL=amqp://guest:guest@rabbitmq。但它什么也没做。你有什么主意吗?感谢您的回复

标签: ruby docker rabbitmq amqp bunny


【解决方案1】:

它对我来说很好用。我所要做的就是: 将此命令CMD ["bundle", "exec", "ruby","filename"] 添加到 Dockerfile 和 添加 envFile 我在 docker run 命令中添加了AMQP 变量值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2019-05-28
    • 2011-03-10
    • 2021-07-17
    • 2019-06-11
    相关资源
    最近更新 更多