docker端口不通的解決辦法:1、打開命令窗口;2、執行“sysctl -w net.ipv4.ip_forward=1 sed -i “/net.ipv4.ip_forward/ s/0/1/g”/etc/sysctl.conf”命令。
本教程操作環境:ubuntu 16.04系統、Docker 20.10.11版、Dell G3電腦。
docker端口不通怎么辦?
Docker:正常運行的容器突然端口不通一般檢查方法:
前提:一般情況下,我們運行的DOCKER環境中可能會出現,容器端口不通的問題,下面是我經歷過的,總結出的幾點筆記,幫助檢查問題。
一.iptables規則被修改過:
如果是這個原因,我們可以通過重啟docker,讓iptables轉發規則重新生效,一般可以處理
二.系統參數被修改(net.ipv4.ip_forward這個參數被改成0):
? ? 這個內核參數linux系統默認是0,當我們安裝docker的時候,會被docker改成1,然后實現端口轉發,容器正常運行
但是docker只是改了內存,并沒有生效到配置文件,所以配置文件里面還是0如下:
sysctl?-a?|grep?"ipv4.ip_forward"?????=====>?net.ipv4.ip_forward?=?1 cat?/etc/sysctl.conf|?grep?"ipv4.ip_forward"??=====>?net.ipv4.ip_forward?=?0
這種情況下,如果有人更改其他參數,然后通過sysctl -p生效,那么docker改的這個參數會被重新配置為和/etc/sysctl.conf文件
里面的一致,導致端口不通,這個時候需要重啟docker使其再次改為1。
所以我們安裝docker的時候需要先設置這個參數為1,在裝docker命令如下:
sysctl?-w?net.ipv4.ip_forward=1 sed?-i?"/net.ipv4.ip_forward/?s/0/1/g"?/etc/sysctl.conf
總結
其實說這么多就是重啟iptables,重啟docker,就可以解決基本問題了,哈哈,說了些廢話,但是希望可以和大家分享下
推薦學習:《docker視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END