制作一个可以arm架构下运行的docker镜像(for Python)

news/2024/11/19 8:29:09/
看完本篇文章,你将得到一个可以arm架构下运行的python 基础镜像。
题外话

这里直接说docker镜像有点儿草率,因为目前很多容器都是Podman了。

podman的介绍

arm和aarch傻傻分不清楚

现在这两个是一样的意思了。

arm64和aarch64之间的区别

开始制作镜像
  • 选取基础镜像

我选用了  docker.io/arm64v8/ubuntu:latest 作为基础镜像。这里有一个不确定的点,还希望各路大神给确定一下。 操作系统是arm64,可以运行arm32的容器吗? 操作系统是arm32,可以运行arm64的容器吗?

  • 将上面的镜像运行起来

我没有采用dockerfile的方式,因为那种方式不太方便调试,所以我了commit容器的方式。世界上没有免费的午餐,commit形式打出来的镜像会比较大。

  • 装修一下你的容器

配置一下apt的安装源

apt-get update
apt install xz-utils# 准备更新安装源cd  /etc/apt/
cp sources.list sources.list.bakvim sources.list# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse

配置python环境

export SHELL=/bin/bash 
将上面语句并追加到 /etc/bash.bashrc 文件中# 安装conda环境
wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificatesh Anaconda3-2022.10-Linux-x86_64.sh# 配置pip源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

中文支持

https://zhuanlan.zhihu.com/p/165961076

安装gcc环境,便于后期安装c或者c++编写的python依赖

apt update
apt install build-essential --fix-missing
apt install linux-libc-dev --fix-missing

保存镜像

docker commit 0afa70d8dc38 localhost/lmapi:0.0.3
docker save localhost/lmapi:0.0.3 lmapi003.tar.gz

ok了,目前就积累了这些操作,后面慢慢补充,也欢迎各位大神给予指点。


http://www.ppmy.cn/news/1198120.html

相关文章

CleanMyMac X2024破解版下载地址链接

如果你是一位Mac用户,你可能会遇到一些问题,比如Mac运行缓慢、磁盘空间不足、应用程序难以管理等。这些问题会影响你的Mac的性能和体验,让你感到沮丧和无奈。那么,有没有一款软件可以帮助你解决这些问题呢?答案是肯定的…

Win11新电脑启动无无线网络连接解决办法

Win11新电脑启动无无线网络连接解决办法 前言一、解决方法 前言 今天笔者在使用学校实验室分配的新电脑时候,发现在新激活的时候需要让我连接到无线网络,但不管鼠标怎么点都操作不了,于是在卡在这里了,唯一的办法就是跳过此页面&…

NLP之Bert介绍和简单示例

文章目录 1. Bert 介绍2. 代码示例2.1 代码流程 1. Bert 介绍 2. 代码示例 from transformers import AutoTokenizertokenizer AutoTokenizer.from_pretrained("bert-base-chinese") input_ids tokenizer.encode(欢迎来到Bert世界, return_tensorstf) print(input…

华为政企网络安全产品集

产品类型产品型号产品说明 防火墙及应用安全网关ASG5505ASG5000系列上网行为管理产品(以下简称“ASG5000”)是华为面向各类企业、政府、大中型数据中心以及各类无线非经营性场所推出的业界领先的综合上网行为管理产品。 该系列产品可深度识别、管控和…

Java并发面试题知识点总结(上篇)

大家好,我是栗筝i,从 2022 年 10 月份开始,我便开始致力于对 Java 技术栈进行全面而细致的梳理。这一过程,不仅是对我个人学习历程的回顾和总结,更是希望能够为各位提供一份参考。因此得到了很多读者的正面反馈。 而在…

[Emuelec]独立模拟器自动映射手柄按键脚本研究

在Emuelec中,对独立模拟器配置手柄按键是个非常头疼的事,难点在于emuelec的按钮配置映射到模拟器所需的按钮配置,更头疼的是,每个模拟器所需的配置都不相同,此时就需要花大把时间了解每个模拟器的配置上。好在&#xf…

下载安装PyCharm的步骤

1、首先进入Pycharm官网,并进行下载,日常使用社区版也是OK的 官网:https://www.jetbrains.com/pycharm/download/?sectionwindows 2、可以自定义路径进行安装,注意路径要全英哈 3、大家可以根据自己的需要来进行勾选 4、安装完成…

Fourier分析导论——第3章——Fourier级数的收敛性(E.M. Stein R. Shakarchi)

第 3 章 Fourier级数的收敛性(Convergence of Fourier Series) The sine and cosine series, by which one can represent an arbitrary function in a given interval, enjoy among other remarkable properties that of being convergent. This property did not escape…