所属类型: | GNU/Linux |
base on: | 独立 |
所在国家: | 挪威 |
libc: | musl libc |
cli-Shell: | ash |
bin-utils: | BusyBox |
init-Soft: | OpenRC |
包管理器: | apk |
支持架构: | x86_64 、aarch64 |
官方主页: | https://www.alpinelinux.org |
优点:轻量、安全
grsecurity/PaX
补丁PIE(Position Independent Executables)
以增强系统的安全性缺点:默认不支持本地化
Alpine Linux
默认不支持本地化,导致除了以英语为母语的地区外的其他用户失去了其轻量的特点,这是因为musl libc没有相关的接口和工具。
注意:
Alpine Linux
默认没有安装OpenRC的管理工具, 要使用这些管理工具,您需要自己安装:
apk add openrc
发布时间 | 发布名称 |
---|---|
2019-10-21 | 3.10.3 |
2019-08-20 | 3.10.2 |
2019-07-11 | 3.10.1 |
2019-06-13 | 3.10.0 |
2019-05-09 | 3.9.4 |
2019-04-08 | 3.9.3 |
2019-03-04 | 3.9.2 |
2019-03-01 | 3.9.1 |
2019-01-29 | 3.9.0 |
2018-12-20 | 3.8.2 |
2018-09-11 | 3.8.1 |
2018-06-26 | 3.8.0 |
下载Docker Offical Alpine Base Image,并以此创建、启动一个容器:
docker run --tty --interactive --name alpine --hostname alpine alpine:3.8 /bin/sh
我们对比一下常用的基于不同操作系统的基础镜像的文件大小(大约):
Alpine Linux | 5M |
Ubuntu | 90M |
CentOS | 200M |
显然,基于Alpine Linux
的Docker基础镜像的镜像文件很小, 镜像文件很小是有很大的优势的,这意味这下载的时间大大缩小了。
但是,基于Alpine Linux
的Docker基础镜像的镜像文件很小,也有代价:
musl libc
,但是musl libc
不支持国际化和本地化, 所以你想显示中文,还得安装glibcash
,但是ash
不支持数组特性, 但是,我们大多数已经写好的脚本,基本上是以bash为标准的。实际上,基于Alpine Linux
的Docker基础镜像的出现, 是为了给不需要国际化和本地化的那些人使用的,比如本来就使用英语的国家。中国人要使用,我们经常要打印中文日志, 这时候,默认的不支持中文的显示,所以,只会是乱码。要想不乱码,只能安装glibc并配置上中文支持。 具体办法:点我。
step1、安装依赖工具
step2、创建一个用于存放Alpine Linux rootfs
的文件夹
install -d alpine-linux-x86-64
step3、使用curl命令下载Alpine Linux rootfs
镜像 ()
curl -LO https://dl-cdn.alpinelinux.org/alpine/v3.16/releases/aarch64/alpine-minirootfs-3.16.2-aarch64.tar.gz
step4、使用tar命令解压Alpine Linux rootfs
镜像
tar vxf alpine-minirootfs-3.16.2-x86_64.tar.gz -C alpine-linux-x86-64
step5、使用chroot命令执行Alpine Linux rootfs
中的命令
sudo chroot alpine-linux-x86-64 apk add bash
sudo chroot alpine-linux-x86-64 bash
sudo chroot alpine-linux-x86-64 /bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
/bin/sh --login
step1、安装依赖工具
step2、创建一个用于存放Alpine Linux rootfs
的文件夹
install -d alpine-linux-aarch64
step3、使用curl命令下载Alpine Linux rootfs
镜像 ()
curl -LO https://dl-cdn.alpinelinux.org/alpine/v3.16/releases/aarch64/alpine-minirootfs-3.16.2-aarch64.tar.gz
step4、使用tar命令解压Alpine Linux rootfs
镜像
tar vxf alpine-minirootfs-3.16.2-aarch64.tar.gz -C alpine-linux-aarch64
step5、使用proot命令执行Alpine Linux rootfs
中的命令
proot -q qemu-aarch64 -S alpine-linux-aarch64 apk add bash
proot -q qemu-aarch64 -S alpine-linux-aarch64 bash
proot -q qemu-aarch64 -S alpine-linux-aarch64 /bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
/bin/sh --login