我用python3.7.5编写了一个连接到RabbitMQ的应用程序:
使用Ubuntu作为对接机
我在跟码头人一起跑兔子车
docker run --name rabbitmq -p 5671:5671 -p 5672:5672 -p 15672:15672 --hostname rabbitmq rabbitmq:3.6.6-management
测试:
连接到它
预期的
我把这个应用程序放到了docker里面,然后构建并运行。
--build-arg ENVIRONMENT_NAME=develop
-t pdf-svc-image:latest .
&& docker run
-P
--env ENVIRONMENT_NAME=local
--name html-to-pdf
-v /home/mickey/dev/core/components/pdf-svc/:/html-to-pdf
--privileged
--network host
pdf-svc-image:latest bash(此命令行是用py魅力创建的)
当运行此代码(在码头内)时,我会得到一个异常
return await aio_pika.connect_robust(
"amqp://guest:guest@{host}".format(host=consts.MESSAGE_QUEUE_HOST)
)帮忙?
发布于 2020-02-20 17:29:37
据https://docs.docker.com/network/host/称,
注意:如果容器在使用主机模式网络时没有自己的IP地址,端口映射就不会生效,并且忽略-p、--发布、-P和-发布-所有选项,从而生成一个警告:
我不确定这是你的案子。您将登录容器,并运行ping, nslookup来检查网络连接。
发布于 2020-02-20 22:50:18
RabbitMQ容器
docker run --name rabbitmq \
-p 5671:5671 -p 5672:5672 -p 15672:15672 \
--hostname rabbitmq \
--network host \ # <-- Add this line, now both container see each other
rabbitmq:3.6.6-managementApp容器
docker run \
-P \
--env ENVIRONMENT_NAME=local \
--name html-to-pdf \
-v /home/mickey/dev/core/components/pdf-svc/:/html-to-pdf \
--privileged \
--network host \
pdf-svc-image:latest bash然后,在代码中,您需要使用host = rabbitmq而不是127.0.0.1加载变量。
https://stackoverflow.com/questions/60325327
复制相似问题