docker - Nginx Docker 容器可以看到其他容器,但不能通过暴露的端口
问题描述
我正在运行两个容器,Nginx 和 Hivemq。在 nginx 容器中,以下工作:
root@14f03fa1193a:/# ping broker1
PING broker1 (172.29.0.2) 56(84) bytes of data.
64 bytes from broker1.test (172.29.0.2): icmp_seq=1 ttl=64 time=0.131 ms
64 bytes from broker1.test (172.29.0.2): icmp_seq=2 ttl=64 time=0.111 ms
但是,Name or service not known
当我包含另一个容器的端口时,我得到了一个。容器是这样运行的:
nginx:
docker run -d --name nginx --network test nginx
hivemqmq:
docker run -d -p 1883:1883 --name broker1 --network test hivemq/hivemq4:latest
docker container inspect broker1
产量:
...
"PublishAllPorts": false,
...
"ExposedPorts": {
"1883/tcp": {},
"8000/tcp": {},
...
"Ports": {
"1883/tcp": [
{
解决方案
推荐阅读
- amazon-web-services - 将 DynamoDB 表移动到 S3 并自动更新 S3
- ms-access - 如何防止用户修改查询数据表结果中的数据 MS Access
- java - 将 Kotlin 转换为 Java 时的错误方法
- airflow - Airflow + Sentry - 没有来自 dags/tasks 的信息
- reactjs - 将 React Native Component 传递给 children 并将其渲染到相同的位置
- html - div 粘性位置不起作用 tailwindcss
- c++ - 通过 boost asio iostream 下载大文件的最快方法是什么?
- c# - 如何在 C# 中执行以下代码行而不需要在 cmd 提示符下按回车?
- python - 无法使用 pytesseract 从 .jpg 图像中提取全文,仅提取了部分文本,存在拼写错误
- cpanel - cPanel 备份在进行中过多,然后超时