【发布时间】: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