Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法
在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
其他主機(jī)正常訪問到控制臺

啟動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卻無法訪問拒絕連接。同時看到鏡像的進(jìn)程如下

應(yīng)該是一個默認(rèn)綁定了0.0.0.0允許所有通過宿主機(jī)ip訪問該端口,zipkin則沒有。為此我問了GPT,得到如下回答:
根據(jù)您提供的信息,問題可能出在 Zipkin 容器的端口綁定配置上。您可以嘗試以下步驟來配置 Zipkin 容器,使其支持其他主機(jī)訪問:
檢查 Zipkin 容器的端口綁定:
- 運行
docker ps命令查看 Zipkin 容器的端口綁定情況。確保 Zipkin 容器的端口綁定正確,包括將端口綁定到主機(jī)的 IP 地址上。 - 如果 Zipkin 容器的端口綁定只是綁定到容器自身的 IP 地址(比如
127.0.0.1),那么其他主機(jī)無法直接訪問該端口。
修改 Zipkin 容器的端口綁定:
- 如果 Zipkin 容器的端口綁定只包含容器的內(nèi)部 IP 地址,您需要修改端口綁定配置,將端口綁定到主機(jī)的 IP 地址上,以便其他主機(jī)可以訪問。
- 您可以通過修改 Docker 容器啟動命令中的
-p選項來實現(xiàn)端口綁定。例如,將端口9410綁定到主機(jī)的所有 IP 地址可以這樣做:-p 9410:9410。
重新啟動 Zipkin 容器:
- 修改端口綁定配置后,您需要重新啟動 Zipkin 容器,使新的配置生效。可以使用
docker restart <container_name>命令來重新啟動容器。
檢查防火墻設(shè)置:
- 確保主機(jī)上的防火墻允許流量通過 Zipkin 容器使用的端口。如果有防火墻規(guī)則限制了流量,您需要相應(yīng)地調(diào)整防火墻設(shè)置。
通過以上步驟,您應(yīng)該能夠配置 Zipkin 容器,使其支持其他主機(jī)訪問。如果問題仍然存在,請?zhí)峁└嘣敿?xì)信息,以便更好地幫助您解決問題。
看上面最有可能的應(yīng)該就是第一點了,為此停止運行中的容器并刪除,重新啟動,在后面多加了指定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不需要指定,不應(yīng)該都會默認(rèn)指定的嗎。
以上就是Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法的詳細(xì)內(nèi)容,更多關(guān)于Docker無法遠(yuǎn)程直接訪問的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用docker-compose實現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法
灰度發(fā)布是一種軟件部署策略,它允許將新版本的部分功能或服務(wù)逐步推送給用戶,而不是一次性對所有用戶進(jìn)行大規(guī)模更新,本文主要給大家介紹了使用docker-compose實現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法,需要的朋友可以參考下2024-11-11
使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器
本文詳細(xì)介紹了如何在Ubuntu系統(tǒng)上通過Docker部署FTP服務(wù)器的步驟,包括安裝Docker、拉取vsftpd鏡像以及運行FTP容器等,通過這些步驟,用戶可以在提供的免費云服務(wù)器上快速搭建起一個安全高效的FTP服務(wù),適合小型項目或個人使用,感興趣的朋友跟隨小編一起看看吧2024-10-10
Docker安裝redis并且設(shè)置密碼,以及進(jìn)入容器修改密碼方式
這篇文章主要介紹了Docker安裝redis并且設(shè)置密碼,以及進(jìn)入容器修改密碼方式,2024-01-01

