如題
首先我iptables -F清掉了所有的規(guī)則
然后我用express-generator
創(chuàng)建了一個(gè)項(xiàng)目test,進(jìn)入里面創(chuàng)建了一個(gè)Dockerfile,為了方便我直接npm install了所有需要的包
express test
cd test
npm install
然后我直接把所有東西都放到容器里就不用安裝一遍了……
from node:latest
workdir /app
add . /app
expose 3000
cmd npm start
之后構(gòu)建了自己的鏡像,運(yùn)行
docker build -t test0
docker container run -d -p3000:3000 test0
# 5380
docker logs 5380
# test@0.0.1 start /app
# node ./bin/www
docker container ls
# 5380... test0 "bin/sh -c..." ... 0.0.0.0:3000:3000/tcp
我自己curl了一下本地訪問沒問題
curl http://172.17.0.2:3000
# <!DOCTYPE....
curl http://192.168.2.2:3000
# <!DOCTYPE....
按說就應(yīng)該沒問題可以運(yùn)行了……
但是我用同一局域網(wǎng)的其它機(jī)器(比如2.5或者2.7)訪問就無(wú)法訪問,而且我docker logs一查根本沒有訪問信息…………
用docker之前我在本機(jī)npm start測(cè)試過其它機(jī)器直接訪問沒問題,我不明白為啥會(huì)這樣了……求助!
ip a
1: lo: <LOOPBACK.....
4: eth0@if5: <BROADCAST, MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
ip r
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.2.0/24 dev eno1 proto kernel scope link src 192.168.2.115
192.168.2.254 dev eno1 proto shcp scope link src 192.168.2.115 metric 100
docker container ls
7c... mariadb "docker-entrypoint.s..." 12 days ago up 6 minutes 0.0.0.0:3306->3306/tcp
ip a
eno1 直連192.168.2.0,與外網(wǎng)邏輯隔離,通過DHCP自動(dòng)獲得IP地址(不固定)
docker0: <BROADCAST, MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:87:74 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet 6 ................ scope link
valid_lft forever preferred_lft forever
ip r
default via 192.168.2.254 dev eno1 proto dhcp src 192.168.2.127 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.2.0/24 dev eno1 proto kernel scope link src 192.168.2.115
192.168.2.254 dev eno1 proto dhcp scope link src 192.168.2.127 metric 100
要么防火墻的問題,要么網(wǎng)絡(luò)路由問題。
(2018年9月6日更新)
因你沒有明確列出測(cè)試機(jī)的網(wǎng)絡(luò)信息,這里假設(shè)它的 IP 是 192.168.2.5/24。
那么從測(cè)試機(jī)到 docker 宿主機(jī),再到 docker 內(nèi)系統(tǒng)的網(wǎng)絡(luò)流向如下
測(cè)試機(jī) <<<------------>>> 宿主機(jī) <<<---------------->>> docker 內(nèi)系統(tǒng)
192.168.2.5/24 192.168.2.2/24
172.17.0.1/16 172.17.0.2/16
根據(jù)你所貼的 docker 內(nèi)系統(tǒng)路由表
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.2.0/24 dev eno1 proto kernel scope link src 192.168.2.115
192.168.2.254 dev eno1 proto shcp scope link src 192.168.2.115 metric 100
這里不應(yīng)該出現(xiàn) 192.168.2.X 的路由項(xiàng),不知道是不是你的筆誤,還是手動(dòng)添加的路由記錄。
將宿主機(jī)設(shè)置成路由,轉(zhuǎn)發(fā) 192.168.2.0/24 與 172.17.0.2 之間的流量即可。
對(duì) Linux 而言,主要修改兩個(gè)地方
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。