标签:lib python python2.7 site usr 镜像 packages local arm
之前公司运行的docker 环境是 x86 基础 上的,但是由于为兼顾国产化,要求开发对应的 ARM 版docker 镜像;但是构架机上无法连接公网,导致一些之前的包下载不了;特此记录实现的过程。
由于Python 是高级语言,对底层的依赖比较少,所以采用文件复制的办法实现x86 docker 到 arm64的迁移实现;
# 首先将x86 版本的基础镜像运行起来
docker run --rm -ti python_x86:v2.7 bash
# 查看 site-packages 所在位置
root@8ed298a1b4ba:/# python -m site
sys.path = [
'/',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages',
]
# 将安装包拷出 ,另起一个终端 将site-packages 目录拷贝出来
docker cp 96f7f14e99ab:/usr/local/lib/python2.7/site-packages /tmp/
原来的安装包拷贝出来了,存在 site-packages 中。
然后将文件拷贝到 运行 构建 arm docker 镜像的机器上,将文件夹进行替换;
docker run --rm -ti python_arm64:v2.7 bash
# 查看 site-packages 所在位置
root@8ed298a1b4ba:/# python -m site
sys.path = [
'/',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages',
]
# 清理 site-packages 目录
rm -rf /usr/local/lib/python2.7/site-packages
# 将原来文件包,拷贝进去
docker cp /tmp/site-packages 96f7f14e99ab:/usr/local/lib/python2.7/
# docker commit
docker commit 96f7f14e99ab python_arm64_new:v2.7
标签:lib,python,python2.7,site,usr,镜像,packages,local,arm 来源: https://blog.csdn.net/goodluck_mh/article/details/122631314
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。