首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制EBS尊重Dockerrun.aws.json公开的端口

强制EBS尊重Dockerrun.aws.json公开的端口
EN

Stack Overflow用户
提问于 2018-12-28 09:33:13
回答 1查看 73关注 0票数 0

长话短说。我正在为在EBS中安装Rabbitmq单实例而奋斗。在本地,一切正常工作,我可以通过5672端口连接到RabbitMQ。当我将映像部署到EBS时,Dockerrun.aws.json的第一个端口似乎是自动绑定到端口80的,因此可以通过这个端口访问amqp

是否有任何我可以应用的黑客来正确绑定ec2主机的端口5672到5672?

Dockerfile

代码语言:javascript
复制
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

代码语言:javascript
复制
{
    "AWSEBDockerrunVersion": "1",
    "Image": {
        "Name": "some-image-name",
        "Update": "true"
    },
    "Ports": [{
            "HostPort": "5672",
            "ContainerPort": "5672"
        },
        {
            "HostPort": "15672",
            "ContainerPort": "15672"
        }
    ],
    "Volumes": []
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-28 09:50:42

这件事很容易被破解。只需将随机端口作为第一个条目公开即可。现在,其他端口已正确映射。

代码语言:javascript
复制
{
    "AWSEBDockerrunVersion": "1",
    "Image": {
        "Name": "some-image",
        "Update": "true"
    },
    "Ports": [{
            "HostPort": "80",
            "ContainerPort": "80"
        },
        {
            "HostPort": "5672",
            "ContainerPort": "5672"
        },
        {
            "HostPort": "15672",
            "ContainerPort": "15672"
        }
    ],
    "Volumes": []
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53956344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档