Docker綁定端口后仍無(wú)法遠(yuǎn)程直接訪問(wèn)的解決方法
在docker中拉取鏡像后啟動(dòng),啟動(dòng)腳本如下
啟動(dòng)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ī)正常訪問(wèn)到控制臺(tái)
啟動(dòng)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的訪問(wèn),到9411卻無(wú)法訪問(wèn)拒絕連接。同時(shí)看到鏡像的進(jìn)程如下
應(yīng)該是一個(gè)默認(rèn)綁定了0.0.0.0允許所有通過(guò)宿主機(jī)ip訪問(wèn)該端口,zipkin則沒(méi)有。為此我問(wèn)了GPT,得到如下回答:
根據(jù)您提供的信息,問(wèn)題可能出在 Zipkin 容器的端口綁定配置上。您可以嘗試以下步驟來(lái)配置 Zipkin 容器,使其支持其他主機(jī)訪問(wèn):
檢查 Zipkin 容器的端口綁定:
- 運(yùn)行
docker ps
命令查看 Zipkin 容器的端口綁定情況。確保 Zipkin 容器的端口綁定正確,包括將端口綁定到主機(jī)的 IP 地址上。 - 如果 Zipkin 容器的端口綁定只是綁定到容器自身的 IP 地址(比如
127.0.0.1
),那么其他主機(jī)無(wú)法直接訪問(wèn)該端口。
修改 Zipkin 容器的端口綁定:
- 如果 Zipkin 容器的端口綁定只包含容器的內(nèi)部 IP 地址,您需要修改端口綁定配置,將端口綁定到主機(jī)的 IP 地址上,以便其他主機(jī)可以訪問(wèn)。
- 您可以通過(guò)修改 Docker 容器啟動(dòng)命令中的
-p
選項(xiàng)來(lái)實(shí)現(xiàn)端口綁定。例如,將端口9410
綁定到主機(jī)的所有 IP 地址可以這樣做:-p 9410:9410
。
重新啟動(dòng) Zipkin 容器:
- 修改端口綁定配置后,您需要重新啟動(dòng) Zipkin 容器,使新的配置生效??梢允褂?
docker restart <container_name>
命令來(lái)重新啟動(dòng)容器。
檢查防火墻設(shè)置:
- 確保主機(jī)上的防火墻允許流量通過(guò) Zipkin 容器使用的端口。如果有防火墻規(guī)則限制了流量,您需要相應(yīng)地調(diào)整防火墻設(shè)置。
通過(guò)以上步驟,您應(yīng)該能夠配置 Zipkin 容器,使其支持其他主機(jī)訪問(wèn)。如果問(wèn)題仍然存在,請(qǐng)?zhí)峁└嘣敿?xì)信息,以便更好地幫助您解決問(wèn)題。
看上面最有可能的應(yīng)該就是第一點(diǎn)了,為此停止運(yùn)行中的容器并刪除,重新啟動(dò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 \ 至此可以正常訪問(wèn),至于為什么nacos不需要指定,不應(yīng)該都會(huì)默認(rèn)指定的嗎。
以上就是Docker綁定端口后仍無(wú)法遠(yuǎn)程直接訪問(wèn)的解決方法的詳細(xì)內(nèi)容,更多關(guān)于Docker無(wú)法遠(yuǎn)程直接訪問(wèn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Docker部署Golang服務(wù)的實(shí)現(xiàn)步驟
不管是開(kāi)發(fā)還是生產(chǎn)環(huán)境,通過(guò)docker方式部署服務(wù)都是一種不錯(cuò)的選擇,本文主要介紹了Docker部署Golang服務(wù)的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01Docker搭建Skywalking的實(shí)現(xiàn)示例
本文主要介紹了Docker搭建Skywalking的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02使用docker-compose,如何調(diào)整JVM參數(shù)
這篇文章主要介紹了使用docker-compose,如何調(diào)整JVM參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01docker服務(wù)關(guān)停的實(shí)現(xiàn)步驟
在我看來(lái)所謂的優(yōu)雅關(guān)閉,就是在系統(tǒng)關(guān)閉時(shí),預(yù)留一些時(shí)間,讓你有機(jī)會(huì)來(lái)善后一些事情,本文就來(lái)介紹一下docker服務(wù)如何正確關(guān)停,感興趣的可以了解一下2023-10-10淺談Docker Desktop for Linux和Docker Engine
本文主要介紹了Docker Desktop for Linux和Docker Engine區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10在Docker中部署Confluence和jira-software的方法步驟
這篇文章主要介紹了在Docker中部署Confluence和jira-software的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06如何自己搭建DockerHub實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了如何自己搭建DockerHub實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10Docker構(gòu)建簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站實(shí)戰(zhàn)教程
Docker是一種開(kāi)源容器化技術(shù),可以打包、發(fā)布和運(yùn)行應(yīng)用程序,本教程介紹了如何使用Docker構(gòu)建一個(gè)簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站,通過(guò)編寫(xiě)Dockerfile來(lái)自定義鏡像,并展示了如何通過(guò)傳入環(huán)境變量來(lái)動(dòng)態(tài)更改網(wǎng)頁(yè)內(nèi)容,項(xiàng)目使用的技術(shù)包括Docker、Alpine、Nginx、HTML、CSS和JavaScript2024-10-10