首页 > 解决方案 > 使用 docker run 而不是 docker-compose up 暴露的端口

问题描述

我正在尝试使用 docker-compose 运行 rabbitmq 和 influxdb TICK 堆栈。当我用这个命令运行 rabbitmq 时docker run -d --rm -p 5672:5672 -p 15672:15672 rabbitmq:3-management,两个端口都是打开的,我可以从远程机器访问。但是,当我将 rabbitmq 作为 docker-compose 文件的一部分运行时,无法从远程计算机访问它。这是我的 docker-compose.yml 文件:

version: "3.7"

services:
  influxdb:
    image: influxdb
    volumes:
      - ./influxdb/influxdb/data/:/var/lib/influxdb/
      - ./influxdb/influxdb/config/:/etc/influxdb/
    ports:
      - "8086:8086"

  rabbitmq:
    image: rabbitmq:3-management
    volumes:
      - ./rabbitmq/data:/var/lib/rabbitmq
    ports:
      - "15672:15672"
      - "5672:5627"

  telegraf:
    image: telegraf
    volumes:
      - ./influxdb/telegraf/config/:/etc/telegraf/
      - /proc:/host/proc:ro
    depends_on:
      - "influxdb"
      - "rabbitmq"

  chronograf:
    image: chronograf
    volumes:
      - ./influxdb/chronograf/data/:/var/lib/chronograf/
    ports:
      - "8888:8888"
    depends_on:
      - "telegraf"

更多信息:当我使用docker-compose up -d并且8086可以8888从远程机器访问时(我使用 nmap 命令确认)。此外,无论哪种方式,我都可以访问 rabbitmq 管理控制台http://localhost:15672

如何设置它以便我可以使用 docker-compose 从远程机器访问rabbitmq?

谢谢你。

标签: dockerdocker-composerabbitmqinfluxdb

解决方案


看起来只是端口映射中的一个错字docker-compose.yml:5672:56 2 7 实际上应该是 5672:5672。

否则docker-compose配置看起来就好了。


推荐阅读