使用入门一种基于busybox

Alpine Linux使用入门

服务器技术 2021-10-22 09:28:59 255

导读

AlpineLinux是一种基于musl和BusyBox的Linux发行版,专为安全性、简单性和资源效率而设计。体积非常小巧,适合用来做Docker镜像。xiaoz最近在为CCAA/Zdir打包容器镜像的时候了解到了AlpineLinux,麻雀虽小但五脏俱全,简直不要太方便。Docker使用AlpineLinux使用命令dockerru……

Alpine Linux是一种基于musl和BusyBox的Linux 发行版,专为安全性、简单性和资源效率而设计。体积非常小巧,适合用来做Docker镜像。xiaoz最近在为CCAA/Zdir打包容器镜像的时候了解到了Alpine Linux,麻雀虽小但五脏俱全,简直不要太方便。

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软件管理

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默认时区做出修改,方法如下:

#安装timezoneapk add -U tzdata#查看时区列表ls /usr/share/zoneinfo#拷贝需要的时区文件到localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#查看当前时间date#为了精简镜像,可以将tzdata删除了apk del tzdata

修改Alpine Linux软件源

如果是国内网络使用Alpine Linux,可以使用国内镜像源,这样速度更加理想,常用的国内镜像源如下:

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

http://dl-cdn.alpinelinux.org/alpine/v3.11/mainhttp://dl-cdn.alpinelinux.org/alpine/v3.11/community

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

http://mirrors.aliyun.com/alpine/v3.11/mainhttp://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,简直就是天生为容器所准备。


1253067 TFnetwork_cn