要確認主機網卡是否開啟了「節電功能」,必須根據您這台 Docker 主機的作業系統來檢查。以下為您整理 Linux 與 Windows 兩種系統的確認與關閉方法:


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

Linux 網卡省電主要看兩個機制:PCIe 連結省電 (ASPM) 與 綠能乙太網路 (EEE)。

步驟 A:檢查 PCIe 省電狀態 (ASPM)

在終端機輸入以下指令,查看網卡的電源管理狀態:

lspci -vvv | grep -i aspm

步驟 B:檢查節能乙太網路 (EEE)

使用 ethtool 工具(若未安裝可先 sudo apt install ethtool)檢查您的實體網卡(例如 eth0 或 enp3s0,可用 ip a 查詢網卡名稱):

sudo ethtool --show-eee eth0

🛠️ 永久關閉 Linux 網卡省電(解決方案)

  1. 關閉 EEE 節能:

    sudo ethtool --set-eee eth0 eee off
    
  2. 如果您的 Linux 有安裝進階省電工具(如 tlp),請編輯設定檔 /etc/tlp.conf,找到以下兩行並修改:修改後重啟 TLP 服務:sudo systemctl restart tlp。

    PCIE_ASPM_ON_AC=performance
    ETH_POWERSAVE_ON_AC=off
    

2. 如果您的 Docker 主機是 Windows (使用 Docker Desktop)

如果您的主機是 Windows,Windows 的網卡省電管理非常激進,是最常導致內網閒置 Ping 不到的元凶。

步驟 A:透過「裝置管理員」檢查與關閉

  1. 按下快捷鍵 Win + X,選擇 「裝置管理員」。