(Windows Subsystem for Linux)WSL 相關議題整理
Q1. 在 wsl 內啟動的容器無法連上 Internet
- 確保 WSL 網絡設置正確: 在 Windows PowerShell 中運行以下命令來檢查和重置 WSL 網絡:
wsl --shutdown netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns
- 確認 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
- 在 Ubuntu 22.04 的 /etc/wsl 設定檔內加入
[network] generateResolvConf = true
- 在 Windows Host 的 Powershell 內重新啟動 wsl
wsl --shutdown