Bootstrap

Alpine Linux使用入门(Docker视角)

前言

我们在了解Alpine Linux时,多数都应该是从docker系统镜像了解的这个操作系统,今天我们就简单说一下Alpine Linux的基础使用

Alpine Linux是一种基于musl和BusyBox的Linux 发行版,专为安全性、简单性和资源效率而设计。体积非常小巧,适合用来做Docker镜像。如果你有Centos或者Ubuntu的基础,那么上手Alpine还是非常容易的

Alpine Linux镜像非常小巧,不到6M的大小,所以特别适合容器打包。

正文

Alpine没有内置Bash

由于Alpine Linux没有内置bash,所以如果要用docker进入Alpine的交互模式时,需要使用的sh作为伪终端,在为Alpine Linux编写shell脚本的时候也需要注意,使用sh而不是bash。

docker run -it alpine /bin/sh

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,可以使用国内镜像源,这样速度更加理想。(现在源配置了CDN,如果速度可以,可以不更换)

软件源的配置文件位于/etc/apk/repositories,内容如下:

https://dl-cdn.alpinelinux.org/alpine/v3.18/main
https://dl-cdn.alpinelinux.org/alpine/v3.18/community

可以看到这里使用的alpine软件源版本为v3.18,所以我们在修改的时候需要版本保持一致,比如修改为阿里的软件源:

http://mirrors.aliyun.com/alpine/v3.18/main
http://mirrors.aliyun.com/alpine/v3.18/community

后记

Alpine Linux体积非常小巧,但功能完全够用,非常适合作为docker的系统镜像,在Docker hub搜索镜像的时候您会发现很多都是基于Alpine Linux,Alpine现在能爆火,我认为和Docker的崛起不无关系。

;