Windows下WSL2部署Docker遇GLIBC版本缺失问题求助
问题描述
在Windows上通过WSL2运行Ubuntu 20.04.6 LTS,跟随Udemy《Docker和Kubernetes完全指南》教程使用Docker Desktop提供的docker命令时,出现GLIBC版本不兼容错误:
/mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli) /mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli)
当前系统GLIBC版本为2.31,且无法通过apt进一步升级:
root@LAPTOP1:/mnt/c/Users/user01# ldd --version ldd (Ubuntu GLIBC 2.31-0ubuntu9.14) 2.31 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper. root@LAPTOP1:/mnt/c/Users/user01# apt-cache policy libc6 libc6: Installed: 2.31-0ubuntu9.14 Candidate: 2.31-0ubuntu9.14 Version table: *** 2.31-0ubuntu9.14 500 500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages 100 /var/lib/dpkg/status 2.31-0ubuntu9 500 500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages root@LAPTOP1:/mnt/c/Users/user01# apt-get install libc6 Reading package lists... Done Building dependency tree Reading state information... Done libc6 is already the newest version (2.31-0ubuntu9.14). 0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
WSL发行版信息:
PS C:\Users\user01> wsl --list --verbose NAME STATE VERSION * Ubuntu Running 2 docker-desktop Running 2 docker-desktop-data Running 2
Ubuntu版本:
root@LAPTOP1:/mnt/c/Users/user01# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal
解决方法
方案1:升级Ubuntu发行版到22.04 LTS
Ubuntu 22.04默认搭载GLIBC 2.35,完全满足Docker CLI的版本要求,这是最彻底的解决方案:
- 更新现有系统包:
sudo apt update && sudo apt upgrade -y - 启动发行版升级:
sudo do-release-upgrade - 按照终端提示完成升级流程,升级完成后重启WSL即可正常使用
docker命令。
方案2:在Ubuntu 20.04中安装原生Docker CE CLI
绕过Docker Desktop提供的高版本CLI,直接在Ubuntu发行版内安装适配GLIBC 2.31的Docker官方CLI:
- 卸载可能存在的旧版Docker相关包:
sudo apt remove docker docker-engine docker.io containerd runc - 添加Docker官方软件源:
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装Docker CE及CLI:
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io - 验证安装:
此时CLI为适配Ubuntu 20.04的版本,可正常运行。docker --version
方案3:替换Docker Desktop的CLI为兼容版本(不推荐)
若不想升级系统或安装本地Docker,可手动替换Docker Desktop提供的CLI为兼容GLIBC 2.31的版本(如Docker 20.10.x系列):
- 下载对应版本的Docker CLI二进制包(需选择适配GLIBC 2.31的版本)
- 解压后替换原CLI文件:
sudo cp path/to/downloaded/com.docker.cli /mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli - 设置文件执行权限:
注意:该方法可能因Docker Desktop自动更新而失效,仅作为临时解决方案。sudo chmod +x /mnt/wsl/docker-desktop/cli-tools/usr/bin/com.docker.cli
内容的提问来源于stack exchange,提问作者peter.petrov
相关产品推荐
相关产品推荐

