首頁  >  文章  >  運維  >  docker連接埠不通怎麼辦

docker連接埠不通怎麼辦

藏色散人
藏色散人原創
2021-12-31 11:21:296846瀏覽

docker連接埠不通的解決方法:1、開啟命令視窗;2、執行「sysctl -w net.ipv4.ip_forward=1 sed -i "/net.ipv4.ip_forward/ s/0/1/ g"/etc/sysctl.conf”指令。

docker連接埠不通怎麼辦

本教學操作環境: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視頻教程

以上是docker連接埠不通怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn