共计 1494 个字符,预计需要花费 4 分钟才能阅读完成。
Alpine Linux 是一种基于 musl 和 BusyBox 的 Linux 发行版,专为安全性、简单性和资源效率而设计。体积非常小巧,适合用来做 Docker 镜像。xiaoz 最近在为 CCAA/Zdir 打包容器镜像的时候了解到了 Alpine Linux,麻雀虽小但五脏俱全,简直不要太方便。
Docker 使用 Alpine Linux
使用命令 docker run -it alpine /bin/sh
可运行 Alpine Linux,由于 Alpine Linux 没有内置 bash,所以这里使用的 sh
作为伪终端,在为 Alpine Linux 编写 shell 脚本的时候也需要注意,使用 sh
而不是bash
Alpine Linux 镜像非常小巧,不到 6M 的大小,所以特别适合容器打包。
Alpine Linux 软件管理
Alpine Linux 使用 apk
指令来管理软件,类似 CentOS 的 yum
或 Debian 的 apt-get
,首次使用建议用apk update
更新下软件,以免无法正常使用。apk 的常用指令如下:
# 更新软件
apk update
#搜索某个软件
apk search xxx
#安装软件
apk add xxx
#卸载软件
apk del xxx
#查看使用帮助
apk -h
设置 Alpine Linux 时区
Alpine Linux 时区非东八区,某些项目需要和北京时间保持同步,因此我们需要对 Alpine Linux 默认时区做出修改,方法如下:
# 安装 timezone
apk add -U tzdata
#查看时区列表
ls /usr/share/zoneinfo
#拷贝需要的时区文件到 localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#查看当前时间
date
#为了精简镜像,可以将 tzdata 删除了
apk del tzdata
修改 Alpine Linux 软件源
如果是国内网络使用 Alpine Linux,可以使用国内镜像源,这样速度更加理想,常用的国内镜像源如下:
- 清华 TUNA 镜像源:https://mirrors.tuna.tsinghua.edu.cn/alpine/
- 中科大镜像源:http://mirrors.ustc.edu.cn/alpine/
- 阿里云镜像源:http://mirrors.aliyun.com/alpine/
软件源的配置文件位于/etc/apk/repositories
,内容如下:
http://dl-cdn.alpinelinux.org/alpine/v3.11/main
http://dl-cdn.alpinelinux.org/alpine/v3.11/community
可以看到这里使用的 alpine 软件源版本为v3.11
,所以我们在修改的时候需要版本保持一致,比如修改为阿里的软件源:
http://mirrors.aliyun.com/alpine/v3.11/main
http://mirrors.aliyun.com/alpine/v3.11/community
更多软件源可参考官方列表:https://mirrors.alpinelinux.org/
总结
- Alpine Linux 默认没有
bash
,需要使用sh
- Alpine Linux 使用
apk
作为包管理器 - 首次使用建议更新软件
apk update
以免出现一些异常
Alpine Linux 体积非常小巧,但功能不输其它 Linux 发行版,非常适合用来打包 Docker 镜像,在 Docker hub 搜索镜像的时候您会发现很多都是基于 Alpine Linux,简直就是天生为容器所准备。
此文部分内容参考了: