Docker暴露埠伺服器公網IP無法訪問問題排查

2021-10-18 05:27:53 字數 1625 閱讀 4153

環境:阿里雲centos7 伺服器

問題:當啟動乙個容器向外部暴露埠時,伺服器公網ip:埠號無法訪問

docker run -d --name nginx01 -p 90:80 nginx
暴露給外部的埠需要開啟對應的安全組設定,比如這裡nginx對外暴露90埠,就需要新增如下的安全組配置

首先檢視防火牆是否開啟,結果為not running表示未開啟,則不是防火牆的問題,跳過

# 檢視防火牆是否開啟

firewall-cmd --state

如果顯示running,則繼續排查,檢視防火牆開放的埠

# 檢視防火牆所開放的埠

firewall-cmd --list-ports

[root@zsr ~]

# firewall-cmd --list-ports

20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 3306/tcp 3306/udp 8080/tcp 8080/udp 3355/tcp

也可以用firewall-cmd --list-all檢視防火牆的詳細資訊

我這裡的問題就是防火牆未開放90埠,所以要開放防火牆的對外暴露的埠

# 開放90埠(--premanent表示永久新增)

firewall-cmd --permanent --add-port=90/tcp

# 重啟防火牆(修改配置後要重啟防火牆)

firewall-cmd --reload

新增完成後再次檢視就可以看到90埠被開放

這個問題一般不會出現,預設都是開啟的,我們用如下命令檢視

# 檢視是否啟動ip_forward

結果為1則表示啟動,為0則未啟動,用如下命令啟動

echo

'net.ipv4.ip_forward = 1'

>> /usr/lib/sysctl.d/50-default.conf

執行完成後,重啟伺服器或使用下面的命令從檔案中載入配置:

https預設埠 伺服器的常見預設埠

伺服器常見的預設埠有哪些呢,根據這些埠做好安全防護 tcp 80 http預設埠,對外公共服務埠 tcp 443 安全型https預設埠,對外公共服務埠 tcp 21 ftp伺服器端口,用於檔案傳輸 tcp 22 ssh遠端連線埠,安全登入型 tcp 23 telnet埠,不安全的文字傳送 tcp ...

串列埠伺服器

串列埠伺服器 為rs 232 485 422到tcp ip 之間完成資料轉換的通訊介面轉換器。提供串列埠轉網路功能 可以讓串列埠裝置聯接網路 工作模式 測試硬體連線 電源供電 使用配套電源介面卡給串列埠伺服器供電 串列埠連線 通過usb轉rs232 rs485轉接線,連線pc和串列埠伺服器 485線...

無線串列埠伺服器

卓嵐wifi轉串列埠產品,包括wifi核心模組 rs232 rs485 rs422轉wifi 以及帶外殼的rs232 rs485無線串列埠伺服器。可以方便地實現各類串列埠裝置連線入wifi ieee802.11g b n 無線網路。另外卓嵐wifi產品支援使用zlvircom虛擬串列埠,串列埠公升級...