文章詳情頁
如何解決docker宿主機(jī)無法訪問容器中的服務(wù)?
瀏覽:879日期:2024-10-17 09:16:14
問題描述
1、在容器中訪問容器中的服務(wù)有響應(yīng),在宿主機(jī)訪問容器服務(wù)無響應(yīng),但是宿主機(jī)可以訪問到容器nginx服務(wù)的歡迎界面,截圖如下:
在容器中訪問容器中的服務(wù)有響應(yīng):
curl 172.17.0.2:8080
在宿主機(jī)訪問容器中的服務(wù)無響應(yīng):
curl 172.17.0.2:8080
不加端口直接訪問,會(huì)得到nginx服務(wù)的歡迎界面代碼:
curl 172.17.0.2
2、由于容器里可以訪問該服務(wù),所以服務(wù)是啟動(dòng)了的;在宿主機(jī)可以訪問容器中的nginx歡迎界面,說明宿主機(jī)可以訪問容器中80端口的服務(wù),問題到底出在什么地方呢?
問題解答
回答1:每個(gè)鏡像都定義了可對外提供的接口,Nginx鏡像只默認(rèn)提供了80和443端口,你自然無法訪問到容器內(nèi)的8080端口。
只需要在docker create或者docker run創(chuàng)建容器時(shí)攜帶--expose參數(shù),就能把指定的端口開放出來。
--expose Expose a port or a range of ports
回答2:你需要將制定的端口暴露到宿主機(jī)上docker run -p 8080:80 你的鏡像名稱
上一條:我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?下一條:docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????
相關(guān)文章:
1. $fields = $values = [];這條代碼一直定義不了,一直報(bào)錯(cuò),老師的源碼也是被報(bào)錯(cuò)的,執(zhí)行不了,請問該怎么解決這個(gè)問題2. python - 求一個(gè)在def中可以實(shí)現(xiàn)調(diào)用本def滿足特定條件continue效果的方法(標(biāo)題說不太清楚,請見題內(nèi)描述)3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. javascript - 用表單提交兩個(gè)時(shí)間段請求后臺(tái)返回對應(yīng)數(shù)據(jù)時(shí)出現(xiàn)的一些問題!5. java - mybatis怎么實(shí)現(xiàn)在數(shù)據(jù)庫中有就修改,沒有就添加6. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題7. MYSQL新建用戶設(shè)置可以遠(yuǎn)程訪問的問題8. mysql - SQL操作時(shí)間的函數(shù)?9. node.js - nodejs和前端JavaScript 字符串處理結(jié)果不一樣是什么原因?10.排行榜$fields = $values = [];這條代碼一直定義不了,一直報(bào)錯(cuò),老師的源碼也是被報(bào)錯(cuò)的,執(zhí)行不了,請問該怎么解決這個(gè)問題 1. python - 求一個(gè)在def中可以實(shí)現(xiàn)調(diào)用本def滿足特定條件continue效果的方法(標(biāo)題說不太清楚,請見題內(nèi)描述) 2. javascript - 用表單提交兩個(gè)時(shí)間段請求后臺(tái)返回對應(yīng)數(shù)據(jù)時(shí)出現(xiàn)的一些問題! 3. angular.js - angularjs的自定義過濾器如何給文字加顏色? 4. java - mybatis怎么實(shí)現(xiàn)在數(shù)據(jù)庫中有就修改,沒有就添加 5. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題 6. mysql - SQL操作時(shí)間的函數(shù)? 7. MYSQL新建用戶設(shè)置可以遠(yuǎn)程訪問的問題 8. node.js - nodejs和前端JavaScript 字符串處理結(jié)果不一樣是什么原因? 9. docker api 開發(fā)的端口怎么獲?。?/a> 10. docker-compose中volumes的問題 熱門標(biāo)簽