当前位置: 首页 > article >正文

Docker绑定端口后仍无法远程直接访问

在docker中拉取镜像后启动,启动脚本如下

  1. 启动docker
docker run --name nacos-server \
-p 8848:8848 \
-p 7848:7848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
-d nacos/nacos-server:v2.4.2

其他主机正常访问到控制台
在这里插入图片描述

  1. 启动zipkin
docker run -d --name zipkin d7cf93f08bd4 \
    -e STORAGE_TYPE=mysql \
    -e MYSQL_DB=zipkin \
    -e MYSQL_USER=root \
    -e MYSQL_PASS=yoostar403 \
    -e MYSQL_HOST=mysql \
    -e MYSQL_TCP_PORT=3306 \
    -e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
    -e STORAGE_TYPE=elasticsearch \
    -e ES_HOSTS=http://elasticsearch:9200 \
    -p 9411:9411 \

但是同上面nacos的访问,到9411却无法访问拒绝连接。同时看到镜像的进程如下
在这里插入图片描述
应该是一个默认绑定了0.0.0.0允许所有通过宿主机ip访问该端口,zipkin则没有。为此我问了GPT,得到如下回答:
根据您提供的信息,问题可能出在 Zipkin 容器的端口绑定配置上。您可以尝试以下步骤来配置 Zipkin 容器,使其支持其他主机访问:

  1. 检查 Zipkin 容器的端口绑定

    • 运行 docker ps 命令查看 Zipkin 容器的端口绑定情况。确保 Zipkin 容器的端口绑定正确,包括将端口绑定到主机的 IP 地址上。
    • 如果 Zipkin 容器的端口绑定只是绑定到容器自身的 IP 地址(比如 127.0.0.1),那么其他主机无法直接访问该端口。
  2. 修改 Zipkin 容器的端口绑定

    • 如果 Zipkin 容器的端口绑定只包含容器的内部 IP 地址,您需要修改端口绑定配置,将端口绑定到主机的 IP 地址上,以便其他主机可以访问。
    • 您可以通过修改 Docker 容器启动命令中的 -p 选项来实现端口绑定。例如,将端口 9410 绑定到主机的所有 IP 地址可以这样做:-p 9410:9410
  3. 重新启动 Zipkin 容器

    • 修改端口绑定配置后,您需要重新启动 Zipkin 容器,使新的配置生效。可以使用 docker restart <container_name> 命令来重新启动容器。
  4. 检查防火墙设置

    • 确保主机上的防火墙允许流量通过 Zipkin 容器使用的端口。如果有防火墙规则限制了流量,您需要相应地调整防火墙设置。

通过以上步骤,您应该能够配置 Zipkin 容器,使其支持其他主机访问。如果问题仍然存在,请提供更多详细信息,以便更好地帮助您解决问题。

看上面最有可能的应该就是第一点了,为此停止运行中的容器并删除,重新启动,在后面多加了指定0.0.0.0绑定端口映射。

docker run -d --name zipkin \
    -e STORAGE_TYPE=mysql \
    -e MYSQL_DB=zipkin \
    -e MYSQL_USER=root \
    -e MYSQL_PASS=yoostar403 \
    -e MYSQL_HOST=mysql \
    -e MYSQL_TCP_PORT=3306 \
    -e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
    -e STORAGE_TYPE=elasticsearch \
    -e ES_HOSTS=http://elasticsearch:9200 \
    -p 0.0.0.0:9411:9411 \
    d7cf93f08bd4

就是上面的 -p 0.0.0.0:9411:9411 \ 至此可以正常访问,至于为什么nacos不需要指定,不应该都会默认指定的吗。


http://www.kler.cn/a/304980.html

相关文章:

  • GitLab 如何跨版本升级?
  • WPF中MVVM工具包 CommunityToolkit.Mvvm
  • 无插件H5播放器EasyPlayer.js网页web无插件播放器vue和react详细介绍
  • 网络安全-Linux基础(bash脚本)
  • 游戏引擎学习第七天
  • 5G 现网信令参数学习(3) - RrcSetup(1)
  • react-intl——react国际化使用方案
  • 基于SpringBoot+Vue的高考志愿智能推荐系统
  • 怎么优化服务器的软件配置?
  • 【Lua学习】Lua入门
  • vue3+ts+supermap icilent3d for cesium功能集合
  • linux + 宝塔 + django + websocket 部署
  • C++:opencv获取矩阵中的最大最小值--cv::minMaxLoc
  • R语言进行无序多分类Logistic回归
  • 五星级可视化页面(24):管线管路流程图可视化大屏。
  • 文档智能:OCR+Rocketqa+layoutxlm
  • Maven下载安装
  • 如何将镜像推送到docker hub
  • 【C++ 设计模式】单例模式的两种懒汉式和饿汉式
  • 使用transform对html的video播放器窗口放大
  • 基于51单片机的电饭锅控制系统proteus仿真
  • DroidBot: A Lightweight UI-Guided Test InputGenerator for Android论文学习
  • Apache SeaTunnel Zeta 引擎源码解析(二) Client端的任务提交流程
  • 【Prompt Engineering:思维树 (ToT)、检索增强生成 (RAG)、自动推理并使用工具 (ART)】
  • Nginx的使用场景:构建高效、可扩展的Web架构
  • 77-java 装饰器模式和适配器模式区别