如果主機連網是用 Wi-Fi(無線網路),它的省電機制比有線網路(Ethernet)更為激進。無線網卡有一種專門的協定叫 Power Management(電源管理模式),會在沒有連續大流量時,自動進入不定期休眠(Sleep/Listen 循環),這會直接導致 Ping 嚴重延遲或遺失封包,以及 SSH 閒置斷線。

以下是針對 Linux 與 Windows 系統,檢查並關閉 Wi-Fi 省電模式的方法:


1. 如果您的 Docker 主機是 Linux (例如 Ubuntu / Debian)

Linux 系統對 Wi-Fi 預設通常會開啟省電模式。

步驟 A:檢查 Wi-Fi 省電狀態

打開終端機,輸入以下指令來查看無線網卡的狀態(通常網卡名稱是 wlan0 或 wlp2s0,可用 ip a 查詢):

iwconfig

🛠️ 永久關閉 Linux Wi-Fi 省電

  1. 臨時關閉(重啟後失效,可用作測試):(請將 wlan0 替換為您的 Wi-Fi 網卡名稱)

    sudo iwconfig wlan0 power off
    
  2. 永久關閉(最推薦):Ubuntu 等系統是透過 NetworkManager 來控制省電的。請修改設定檔:你會看到裡面的內容。將 wifi.powersave 的數值從 3 改成 2:*(註:3 代表開啟省電,2 代表徹底關閉省電)*修改後存檔離開,並重啟網路服務:

    sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
    
    [connection]
    wifi.powersave = 2
    
    sudo systemctl restart NetworkManager
    

2. 如果您的 Docker 主機是 Windows

Windows 對 Wi-Fi 的省電控制分為「網卡硬體」與「作業系統電源計畫」兩個層面。

步驟 A:透過「裝置管理員」檢查硬體省電

  1. 按下 Win + X,選擇 「裝置管理員」。
  2. 展開 「網路介面卡」,找到您的無線網卡(通常名稱帶有 Wireless、Wi-Fi、Intel AX211 或 Realtek)。
  3. 點擊右鍵選擇 「內容」。
  4. 切換到 「進階」 頁籤,在左側清單中尋找是否有以下字眼: