暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Alpine镜像中not found ld-linux-x86-64.so.2 解决方案

匠工精神 2020-04-01
7900

    目前我们线上的环境都是基于docker部署的,用dockerFile进行打镜像,基础镜像用的是alpine,对于一般的应用程序已经能够满足要求了,去年我们用了GIO的埋点方案,部署上线了一段时间。之前业务人员可能没有去细看报表数据,最近反馈有些数据在GIO的后台看不到,开发也进行定位排查,发现本地是可以把数据上传的,最后定位到是标题中的错误,刚开始我是不知道这件事的,后来听我们运维的小伙伴说是需要改系统配置,我一听就觉得有问题,怎么一个接口调用还需要动到系统的配置,我让小伙伴把GIO给的解决方案给我看了下:

1.  找下  ld-linux-x86-64.so.2 ;

2. 设置 $LD_LIBRARY_PATH 值. eg:如果该库位于 lib64,

- env:

        - name: LD_LIBRARY_PATH

          value: lib64

3. 重新部署下。


他们是想通过环境变量设置让容器能找到该文件,这是个动态库链接(跟window 下面的dll类似)而且网上有类似的问题,具体有兴趣的可以网上搜索。


我的解决方案也很简单,在构建镜像的时候把需要的库安装好即可。在dockerfile 文件中添加如下一行命令:


RUN apk update && apk add --no-cache libc6-compat


接口调用正常

文章转载自匠工精神,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论