解决运行Docker镜像报错:version `GLIBC_2.32‘ not found

博客主要围绕运行Docker镜像时出现的‘version `GLIBC_2.32’ not found’报错展开。分析得知是debian:buster - slim镜像中glibc版本过旧,不支持应用程序所需版本。给出的解决办法是使用更轻量级的基础镜像Alpine Linux,并安装所需运行时库,还提醒部分尝试过的方法不可行。

解决运行Docker镜像,报错:version `GLIBC_2.32’ not found

详细报错日志

xapi-backend % docker logs 036de55b5bc6
./xapi-backend: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./xapi-backend)
./xapi-backend: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./xapi-backend)

原因分析

这个错误表明你的二进制文件在运行时需要比 debian:buster-slim 镜像中提供的 glibc 版本更新的版本。debian:buster-slim 使用的是较旧的 glibc 版本,不支持你的应用程序所需的 GLIBC_2.32 和 GLIBC_2.34 版本。

解决:使用更轻量级的基础镜像 Alpine Linux,并在其上安装所需的运行时库。

# 使用 Alpine Linux 作为最终的基础镜像
FROM alpine:latest

# 安装 GLIBC 和其他运行时库
RUN apk --no-cache add ca-certificates libc6-compat

📢 补充说明,下面的都试过了,都不行,避坑:

# debian:buster-slim 是一个最小化的Linux发行版,适用于容器化应用程序
FROM debian:buster-slim

# debian:bullseye-slim 包含了较新的 glibc 版本
FROM debian:bullseye-slim

# debian:testing-slim 包含了较新的 glibc 版本
FROM debian:testing-slim

FROM frolvlad/alpine-glibc

FROM ubuntu
ll ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcap.so.2) ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libacl.so.1) [root@localhost opt]# ls ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcap.so.2) ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libacl.so.1) [root@localhost opt]# find /opt -mindepth 1 -delete find: /lib64/libselinux.so.1: no version information available (required by find) find: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by find) find: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by find) [root@localhost opt]# ls ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcap.so.2) ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libacl.so.1) [root@localhost opt]# ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcap.so.2) > ls: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libacl.so.1) > [root@localhost opt]# find /opt -mindepth 1 -delete > find: /lib64/libselinux.so.1: no version information available (required by find) > find: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by find) -bash: 未预期的符号 `(' 附近有语法错误 [root@localhost opt]# rpm -qf /lib64/libcap.so.2 rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by rpm) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/librpm.so.9) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/librpm.so.9) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/librpmio.so.9) rpm: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /lib64/librpmio.so.9) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/librpmio.so.9) rpm: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /lib64/libpopt.so.0) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libpopt.so.0) rpm: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /lib64/liblzma.so.5) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/liblzma.so.5) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/libzstd.so.1) rpm: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /lib64/liblua-5.4.so) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/liblua-5.4.so) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcap.so.2) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libacl.so.1) rpm: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /lib64/libsqlite3.so.0) rpm: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /lib64/libsqlite3.so.0) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libsqlite3.so.0) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/libsqlite3.so.0) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libaudit.so.1) rpm: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /lib64/libcrypto.so.3) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcrypto.so.3) rpm: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /lib64/libcrypto.so.3) rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libcap-ng.so.0)给离线环境处理的方法
07-08
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值