2019-12-06 1,343
Alpine Linux 是一款极其轻量级的 Linux 发行版,基于 busybox,多被当做 Docker 镜像的底包,在使用容器时或多或少都会接触到此系统,开一篇文章记录一下常用命令。
Alpine 本身最显著的特色就是体积超小,比如拉取 Debian10,Ubuntu18.04,CentOS 7 镜像与最新版 Alpine 对比,Alpine 的体积仅有夸张的 5.55MB。
在 DockerHub 的很多镜像会有一堆各种各样的标签,用以区分不同底包的镜像,这里以 PHP 镜像为例子:
可以看到 PHP 一个版本号下有 7 种标签,其中带有 buster 字样的,则代表镜像基于 Debian10 底包,带有 alpine 字样的就是基于 Alpine Linux 的了。
注:Debian 每一个大版本号都会有个代号,比如 10 为 “buster”,9 为 “stretch” 等,名称均来自皮克斯的动画 “玩具总动员”。
具体可参见:https://www.debian.org/releases/
分别拉取基于不同底包的镜像,可以看到基于 Alpine 的镜像体积也是远远小于 Debian,可以节省硬盘空间并减少对系统的性能压力。
对于基于 Alpine 系统的容器,进入命令也有一点不同,Alpine 默认是没有 bash 的,因此进入容器的命令需要跟随 bin/sh
指令,例如:
docker exec -it alpine bin/sh
Alpine 提供的包管理器为 apk,可以使用 apk -help
查看帮助:
apk 的指令用法总体来说也没什么特别的,格式和其他发行版差不多,此处列举一下常用命令:
apk update # 从远程镜像源中更新本地索引
apk upgrade #升级本地安装的软件
apk add # 从仓库中安装最新软件包和对应的依赖包
apk add -u #升级指定软件包
apk del #删除软件包
apk search #搜索软件包
apk search -v #查找所以可用软件包及其描述内容
apk search -v 'busybox' #通过软件包名称查找软件包
apk search -v -d 'busybox' #通过描述文件查找特定的软件包
apk info #列出所有已安装的软件包
apk info -a #显示完整的软件包信息
apk info --who-owns #显示指定文件属于的包
apk info -r #列出所有包的依赖
apk info -s #显示软件包大小
apk info -d #显示软件包的描述
apk -L info #列出软件包的内容
apk -e info #检测软件包的安装
apk -R info #列出指定包的依赖
修改镜像源为阿里:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
修改镜像源为中科大:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
- 瀚存 见方 L 8 盘位 NAS 机箱开箱 - 2024 年 10 月 24 日
- 你这学习机正经么,开箱个联想天骄 16 AIO 一体机 - 2024 年 10 月 1 日
- 【捡垃圾】技嘉 G+ Pixer 墨水屏相框体验 - 2024 年 9 月 22 日