ImportError lib x86_64-linux-gnu libstdc++

运行上面docker镜像,发现如下报错:

ImportError: /lib/x86_64-linux-gnu/libstdc++.so6: version `GLIBCXX_3.4.26’ not found (required by /opt/conda/envs/py38/lib/python3.8/site-packages/scipy/spatial/_ckdtree.cpython-38-x86_64-linux-gnu.so)

解决方法

step1:

首先确认,文件 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26’ 确实不存在,终端输入:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

发现确实没有 version `GLIBCXX_3.4.26’

step2:

查找一下本机别的地方有没有 version `GLIBCXX_3.4.26’

sudo find / -name “libstdc++.so.6*”

home/wyc/software/anconda3/lib/libstdc++.so.6.0.28,试着查看一下这个文件,0.28意思是该文件下版本最大支持到GLIBCXX_3.4.28,那么自然GLIBCXX_3.4.26也包含在内。用下面的命令查看。

strings /home/wyc/software/anconda3/lib/libstdc++.so.6.0.28 | grep GLIBCXX

step3:如果本机没有符合条件的,可以安装

apt install libstdc++6

step4:如果docker环境中有,则替换,如下

sudo cp /home/wyc/software/anconda3/lib/libstdc++.so.6.0.28 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

step 5:如下看看是否成功

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

step6 保存成新的docker镜像,不然下次会丢失。

参考如下:

关于“有目录挂载/无目录挂载”容器保存为镜像

无容器目录挂载

1、也就是说宿主机未与容器进行路径映射,故我们可以直接使用指令:docker commit 容器名称/容器ID 镜像名:标签号,把容器保存为镜像;(其中镜像名和标签号是我们随机取的,新镜像名以及我们的标签号!)

2、我们在不能判断容器与宿主机存在目录挂载/路径映射之前,我们可以使用指令:docker inspect --format=‘{{.Mounts}}’ 容器名(其中,这个容器名为我们要测试的容器名)
有容器目录挂载

1、首先,我们存在容器目录挂载的容器在保存为新镜像时,里面的数据全部会被抛弃,不会保存在新镜像中,故我们不能像上面那样直接使用指令进行保存为镜像;

2、解决方法:我们可以先把与容器A进行了目录挂载/路径映射的宿主机相应目录下的文件拷贝到另外的一个备份文件夹,然后再把容器A保存为新镜像后,使用新镜像创建容器B并进行目录挂载/路径映射时,映射路径改为宿主机上的备份文件夹,这样以来,我们使用新镜像创建的容器B中就能有原来宿主机原路径下的数据!

3、指令如下:

cp -rf /usr/local/project/ /usr/local/baseproject

(其中/usr/local/project为原目录,/usr/local/baseproject为备份目录);
然后容器A保存为镜像:docker commit 新镜像名:标签号

使用新镜像创建容器B并与备份目录进行映射:

docker run -id --name=容器B -p 8081:8080 -v /usr/local/baseproject:/usr/local/tomcat/webapps --privileged=true 新镜像名:标签号

我是按docker中自带的创建容器的命令进行改动相应(红色)名称,如下:

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值