AlpineDocker镜像中安装Go,执行go version
提示:
sh: go: not found
已经正确的从golang官网下载源文件并安装,环境变量也已经设置好。
使用ldd
命令查看所依赖的共享库列表
/usr/local/go/bin # ldd go
/lib64/ld-linux-x86-64.so.2 (0x7f891a570000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f891a570000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f891a570000)
/usr/local/go/bin # ls /lib64
ls: /lib64: No such file or directory
由于alpine镜像使用的是musl libc而不是gnu libc,/lib64/ 是不存在的。但他们是兼容的,可以创建个软连接过去试试。
/usr/local/go/bin # mkdir /lib64
/usr/local/go/bin # ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
/usr/local/go/bin # go version
go version go1.19.3 linux/amd64
Comments | NOTHING