alpine linux是一种基于musl和busybox的linux发行版,专注于安全性、简洁性和资源效率。其体积非常小巧,非常适合用作docker镜像。最近,xiaoz在为ccaa/zdir打包容器镜像时发现了alpine linux,尽管其体积小巧,但功能齐全,使用起来非常方便。

在Docker中使用Alpine Linux可以通过命令docker run -it alpine /bin/sh来运行。由于Alpine Linux没有内置bash,因此这里使用sh作为伪终端。在编写Alpine Linux的shell脚本时,也需要注意使用sh而不是bash。
Alpine Linux镜像非常小巧,不到6M的大小,因此特别适合用于容器打包。

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的默认时区,方法如下:
# 安装时区数据 apk add -U tzdata查看时区列表
ls /usr/share/zoneinfo
SmartB2B行业电子商务下载SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板
拷贝需要的时区文件到localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
查看当前时间
date
为了精简镜像,可以删除tzdata
apk del tzdata
如果在国内网络使用Alpine Linux,可以使用国内镜像源以获得更快的速度。常用的国内镜像源包括:
- 清华TUNA镜像源:https://www.php.cn/link/d2d6abcb8d26945763acf5d5b7872bce
- 中科大镜像源:https://www.php.cn/link/0f56e1045e205122bb0dd4233c0b944f
软件源的配置文件位于/etc/apk/repositories,内容如下:
https://www.php.cn/link/16f0fd52ff1008af716ba556886e37d0https://www.php.cn/link/3478a1d3a06a8e6de7d8f7dcba944a8e
可以看到这里使用的alpine软件源版本为v3.11,因此在修改时需要保持版本一致。例如,修改为阿里的软件源:
https://www.php.cn/link/961e4b86bf690651cf87d52d714bc7f1https://www.php.cn/link/d6305e4149bc8b9672b74d1021bb7eef
更多软件源可以参考官方列表:https://www.php.cn/link/7cbc8120edbc9108520a43532f5439a6
总结:
- Alpine Linux默认没有
bash,需要使用sh - Alpine Linux使用
apk作为包管理器 - 首次使用建议更新软件
apk update,以避免出现异常 - Alpine Linux体积非常小巧,但功能不输其它Linux发行版,非常适合用来打包Docker镜像。在Docker Hub搜索镜像时,您会发现很多都是基于Alpine Linux的,简直就是为容器量身定制的。
此文部分内容参考了:
- Alpine修改时区
- Alpine Linux 配置使用技巧










