目錄表

(Windows Subsystem for Linux)WSL 相關議題整理

Q1. 在 wsl 內啟動的容器無法連上 Internet

  1. 確保 WSL 網絡設置正確: 在 Windows PowerShell 中運行以下命令來檢查和重置 WSL 網絡:

    wsl --shutdown
    netsh winsock reset
    netsh int ip reset all
    netsh winhttp reset proxy
    ipconfig /flushdns

  2. 確認 docker-compose.yml 內網路的設置是否正確, 也可試試加上 network_mode: “bridge” Exp.
    :
    services:
      your_service:
        network_mode: "bridge"

    或是 network_mode: “host” Exp.

    :
    services:
      your_service:
        network_mode: "host"

Q2. 設定 wsl 內啟動的 Ubuntu 22.04 容器使用與 Windows Host 相同的 DNS

  1. 在 Ubuntu 22.04 的 /etc/wsl 設定檔內加入
    [network]
    generateResolvConf = true
  2. 在 Windows Host 的 Powershell 內重新啟動 wsl

    wsl --shutdown