【问题标题】:Two rabbitmq isntances on one server with docker compose how to change the default port一台服务器上的两个rabbitmq实例与docker组成如何更改默认端口
【发布时间】:2021-03-18 11:45:17
【问题描述】:

我想在一台服务器上运行两个 rabbitmq 实例。我使用 docker-compose 创建的所有内容。问题是我如何更改默认节点和管理端口。我尝试通过ports 设置它,但没有帮助。当我面临相同的情况但使用 mongo 时,我使用了command: mongod --port CUSTOM_PORT rabbitmq 的类比命令是什么?

这是我对 rabbitmq 的第二个实例的配置。

version: '2'
services:
  rabbitmq:
    image: rabbitmq:3-management-alpine
    container_name: 'rabbitmq_test'
    ports:
        - 5673:5673
        - 15673:15673
    volumes:
        - ./rabbitmq/data/:/var/lib/rabbitmq/
        - ./rabbitmq/log/:/var/log/rabbitmq
    networks:
        - rabbitmq_go_net_test
    environment:
        RABBITMQ_DEFAULT_USER: 'test'
        RABBITMQ_DEFAULT_PASS: 'test'
        HOST_PORT_RABBIT: 5673
        HOST_PORT_RABBIT_MGMT: 15673

networks:
  rabbitmq_go_net_test:
    driver: bridge

结果如下

Management plugin: HTTP (non-TLS) listener started on port 15672
rabbitmq_test | 2021-03-18 11:32:42.553 [info] <0.738.0> Ready to start client connection listeners
rabbitmq_test | 2021-03-18 11:32:42.553 [info] <0.44.0> Application rabbitmq_prometheus started on node rabbit@fb24038613f3
rabbitmq_test | 2021-03-18 11:32:42.557 [info] <0.1035.0> started TCP listener on [::]:5672

我们可以看到仍然有端口 5672 和 15672 暴露,而不是 5673 和 15673。

编辑

ports:
        - 5673:5672
        - 15673:15672

我已经尝试过上面的配置但没有成功

rabbitmq_test | 2021-03-18 14:08:56.167 [info] <0.797.0> Management plugin: HTTP (non-TLS) listener started on port 15672
rabbitmq_test | 2021-03-18 14:08:56.167 [info] <0.903.0> Statistics database started.
rabbitmq_test | 2021-03-18 14:08:56.167 [info] <0.902.0> Starting worker pool 'management_worker_pool' with 3 processes in it
rabbitmq_test | 2021-03-18 14:08:56.168 [info] <0.44.0> Application rabbitmq_management started on node rabbit@9358e6f4d2a5
rabbitmq_test | 2021-03-18 14:08:56.208 [info] <0.44.0> Application prometheus started on node rabbit@9358e6f4d2a5
rabbitmq_test | 2021-03-18 14:08:56.213 [info] <0.916.0> Prometheus metrics: HTTP (non-TLS) listener started on port 15692
rabbitmq_test | 2021-03-18 14:08:56.213 [info] <0.44.0> Application rabbitmq_prometheus started on node rabbit@9358e6f4d2a5
rabbitmq_test | 2021-03-18 14:08:56.213 [info] <0.738.0> Ready to start client connection listeners
rabbitmq_test | 2021-03-18 14:08:56.216 [info] <0.1035.0> started TCP listener on [::]:5672

【问题讨论】:

  • 不要费心改变服务器进程使用的端口。您可以使用ports: 将这些端口重新映射到不同的端口;例如,'5673:5672' 将主机上的端口 5673 映射到容器内的标准 RabbitMQ 端口。
  • @DavidMaze 是的,这是答案,不是评论
  • @DoTrungDuc 它不起作用

标签: docker docker-compose rabbitmq devops


【解决方案1】:

我找到了解决方案。我将配置文件提供给rabbitmq容器。

loopback_users.guest = false
listeners.tcp.default = 5673
default_pass = test
default_user = test
management.tcp.port = 15673

还有一个工作的 docker-compose 文件

version: '2'
services:
  rabbitmq:
    image: rabbitmq:3-management-alpine
    container_name: 'rabbitmq_test'
    ports:
        - 5673:5673
        - 15673:15673
    volumes:
        - ./rabbitmq/data/:/var/lib/rabbitmq/
        - ./rabbitmq/log/:/var/log/rabbitmq
        - ./conf/myrabbit.conf:/etc/rabbitmq/rabbitmq.conf
    networks:
        - rabbitmq_go_net_test

networks:
  rabbitmq_go_net_test:
    driver: bridge

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2021-02-20
    相关资源
    最近更新 更多