docker - 使用 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?
谢谢你。
解决方案
看起来只是端口映射中的一个错字docker-compose.yml
:5672:56 2 7 实际上应该是 5672:5672。
否则docker-compose
配置看起来就好了。
推荐阅读
- php - 如何/可以根据不断的请求定义一个常量?
- javascript - JS SQL 输出字符串或对象
- python - Python(递归):递归中的“TypeError:字符串索引必须是整数”
- javafx - 如何在 TableView 中获取具有(列 x 和行 y)的特定单元格?javafx
- vue.js - Nuxt 生成显示错误:无法读取未定义的属性“normalModuleFactory”
- php - 去掉()前后的''
- express - Mongoose 的异步等待返回空对象
- php - PHP - 用预定义的键列表替换数组键
- sas - SAS中的格兰杰因果关系
- react-native - 试图通过nativeID找到一个android原生视图