docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker无法远程直接访问

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

作者:热心市民梁先生

在Docker中,如果容器的端口绑定错误或只绑定到了容器的内部IP地址,将导致外部主机无法访问该端口,所以本文小编给大家介绍了Docker绑定端口后仍无法远程直接访问的解决方法,需要的朋友可以参考下

在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 容器的端口绑定

修改 Zipkin 容器的端口绑定

重新启动 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无法远程直接访问的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文