如何在Alpine Linux 3.7 x86_64 Docker镜像中安装32位x86软件包
在Alpine Linux 3.7上安装32位libcurl的解决方案
嘿,在64位的Alpine 3.7镜像里装32位libcurl,关键是得先启用32位的软件源,再指定架构来安装。我给你一步步说清楚怎么做:
1. 添加32位软件仓库
首先得把32位(x86架构)的仓库地址加到apk的配置里。直接用命令追加两行就行:
echo "http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86" >> /etc/apk/repositories echo "http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86" >> /etc/apk/repositories
2. 更新软件包索引
添加完仓库后,得更新一下apk的包索引,这样才能获取到32位包的最新信息:
apk update
3. 安装32位版libcurl
现在就可以指定安装32位版本了,用--arch x86参数告诉apk要装的是32位包:
apk add --arch x86 libcurl
可选:临时安装(不用改仓库配置)
要是你不想永久修改仓库设置,也可以在安装命令里直接临时指定32位仓库,一步到位:
apk add --arch x86 libcurl \ --repository http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86 \ --repository http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86
确认安装成功
装完之后,你可以用下面的命令验证是不是真的装了32位版本:
file /usr/lib/libcurl.so.4
如果输出里有ELF 32-bit LSB shared object的字样,那就说明安装对了!
小提示:如果是在64位主机的Docker环境里运行Alpine 64位镜像,装完32位包后可能还需要装
qemu-x86来支持32位程序的运行:apk add --no-cache qemu-x86
内容的提问来源于stack exchange,提问作者Abhinav
相关产品推荐
相关产品推荐

