看完本篇文章,你将得到一个可以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了,目前就积累了这些操作,后面慢慢补充,也欢迎各位大神给予指点。