前言
剛遇到這個(gè)問題時(shí)總認(rèn)為是端口映射問題攘已,各種查、各種搜东跪;什么iptables設(shè)置啦,什么修改docker配置文件啦.......結(jié)果還是訪問不了
后來突然想到了是不是主機(jī)開放的端口根本就訪問不了(已經(jīng)設(shè)置了防火墻開放了端口躏碳,所以之前就沒往這兒想)产喉,于是使用Telnet測試了一下查排,binggo我猜對了峡眶,就是主機(jī)端口訪問不了芽腾,原來自己忙活半天都是瞎忙活
-
telnet 測試:
打開windows控制面板歉提,找到程序和功能
設(shè)置完成后态兴,打開cmd輸入:
telnet IP port
注意ip和端口之間是空格不是':'
解決辦法
- Step1> 開放主機(jī)端口
- 開啟防火墻
systemctl start firewalld
- 開啟8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 重新加載防火墻
firewall-cmd --reload
- 查看開放的端口
firewall-cmd --zone=public --list-ports
- 設(shè)置開機(jī)啟動
systemctl enable firewalld
- 有關(guān)防火墻的設(shè)置參照 CentOS7防火墻設(shè)置
- Step2> docker運(yùn)行容器并映射端口
docker run -it -p 8080:80 --name newTest containerName
- Step3> 在阿里云服務(wù)器上添加新的規(guī)則
- 登錄阿里云狠持,進(jìn)入控制臺,找到主機(jī)瞻润,打開詳情
- 設(shè)置范圍時(shí)使用’/‘喘垂,也可以只設(shè)置一個(gè)端口