先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
运行上面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中就能有原来宿主机原路径下的数据!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!