长话短说。我正在为在EBS中安装Rabbitmq单实例而奋斗。在本地,一切正常工作,我可以通过5672端口连接到RabbitMQ。当我将映像部署到EBS时,Dockerrun.aws.json的第一个端口似乎是自动绑定到端口80的,因此可以通过这个端口访问amqp。
是否有任何我可以应用的黑客来正确绑定ec2主机的端口5672到5672?
Dockerfile
FROM rabbitmq:3.7.7-management-alpine
ADD rabbitmq.config /etc/rabbitmq/
ADD definitions.json /etc/rabbitmq/
EXPOSE 5672
EXPOSE 15672
CMD ["rabbitmq-server"]Dockerrun.aws.json
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "some-image-name",
"Update": "true"
},
"Ports": [{
"HostPort": "5672",
"ContainerPort": "5672"
},
{
"HostPort": "15672",
"ContainerPort": "15672"
}
],
"Volumes": []
}发布于 2018-12-28 09:50:42
这件事很容易被破解。只需将随机端口作为第一个条目公开即可。现在,其他端口已正确映射。
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "some-image",
"Update": "true"
},
"Ports": [{
"HostPort": "80",
"ContainerPort": "80"
},
{
"HostPort": "5672",
"ContainerPort": "5672"
},
{
"HostPort": "15672",
"ContainerPort": "15672"
}
],
"Volumes": []
}https://stackoverflow.com/questions/53956344
复制相似问题