如何解决问题"Could not establish TCP connection to any of the configured hosts"



我是编程新手,正在尝试设置rails应用程序之间的关系。我用的是docker compose和rabbitmq。这是我的代码:

Rails应用程序中控制器中的一些代码

def some_method
connection = Bunny.new(
host: 'localhost',
port: 5672,
vhost: '/',
user: 'guest',
password: 'guest')
connection.start
channel = connection.create_channel
queue = channel.queue('hello')
channel.default_exchange.publish('Hello World!', routing_key: queue.name)
puts " [x] Sent 'Hello World!'"
connection.close
end

docker-compose.yml:

version: '3'
services: 
db:
image: postgres
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: mysecretpassword
volumes:
- pgdata:/var/lib/postgresql/data

web:
build: .
command: bundle exec rails s webrick -b '0.0.0.0'
volumes:
- .:/lab2_app
ports:
- "3000:3000"
depends_on:
- db
tty: true
stdin_open: true

docker-compose.yml for rabbitmq:

version: '3'
services:
rabbitmq:
image: rabbitmq:3-management
ports:
- 5672:5672
- 15672:15672

我可以在浏览器中使用RabbitMQ管理,并且可以通过curl发送请求:卷曲http://localhost:15672=>AMQP

但我有错误";无法建立到任何配置的主机的TCP连接";当我把我的";some_方法。

我想知道是否有人能帮我:(

据我所知,当你在容器中运行它时,Rabbit实例不是rails的本地实例,而不是'localhost'。你应该使用'rabbitmq'

相关内容

  • 没有找到相关文章

最新更新