当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker绑定端口后仍无法远程直接访问的解决方法

Docker绑定端口后仍无法远程直接访问的解决方法

2024年11月03日 云虚拟主机 我要评论
在docker中拉取镜像后启动,启动脚本如下启动dockerdocker run --name nacos-server \-p 8848:8848 \-p 7848:7848 \-p 9848:98

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

启动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

其他主机正常访问到控制台

在这里插入图片描述

启动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 容器,使其支持其他主机访问:

检查 zipkin 容器的端口绑定

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

修改 zipkin 容器的端口绑定

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

重新启动 zipkin 容器

  • 修改端口绑定配置后,您需要重新启动 zipkin 容器,使新的配置生效。可以使用 docker restart <container_name> 命令来重新启动容器。

检查防火墙设置

  • 确保主机上的防火墙允许流量通过 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不需要指定,不应该都会默认指定的吗。

以上就是docker绑定端口后仍无法远程直接访问的解决方法的详细内容,更多关于docker无法远程直接访问的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com