介绍
Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。
Alpine 由非商业组织维护的,支持广泛场景的 Linux发行版,它特别为资深/重度Linux用户而优化,关注安全,性能和资源效能。Alpine 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。
Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制。官方镜像来自 docker-alpine 项目。
目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
- 小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;
- 安全:面向安全的轻量发行版;
- 简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。
- 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。
基础配置方法
网络配置
dns
/etc/resolv.conf
网卡配置文件/etc/network/interface
iface eth0 inet static
address 192.168.129.100
netmask 255.255.255.0
gateway 192.168.129.2
或者iface eth0 inet dhcp
修改过后要重启网卡
etc/init.d/networking restart
安装软件包apk
apk 相当于 yum
用法:apk[…]命令[…]
apk add --no-cache -U
add:安装 --no-cache:不使用缓存 -U:更新缓存
apk update 更新
apk update #更新最新镜像源列表
apk search 查找
apk search #查找所以可用软件包
apk search -v #查找所以可用软件包及其描述内容
apk search -v 'acf*' #通过软件包名称查找软件包
apk search -v -d 'docker' #通过描述文件查找特定的软件包
apk add 安装
apk add openssh #安装一个软件
apk add openssh openntp vim #安装多个软件
apk add --no-cache -U apache2 #不使用本地镜像源缓存,相当于先执行update,再执行add
apk info 查看已安装
apk info #列出所有已安装的软件包
apk info -a zlib #显示完整的软件包信息
apk info --who-owns /sbin/lbu #显示指定文件属于的包
apk upgrade 升级
apk upgrade #升级所有软件
apk upgrade openssh #升级指定软件
apk upgrade openssh openntp vim #升级多个软件
apk add --upgrade busybox #指定升级部分软件包
apk del 卸载
apk del openssh #删除一个软件
add: **相当于install**
del: **相当于remove**
用于文本方式查看网页,用于测试http协议
apk add curl
创建用户和组
//创建用户
adduser
-h #创建家目录
-g #用户的详细信息
-s #登录shell
-G #组
-S #创建系统用户
-D #不分配密码
-H #不创建家目录
-u #UID
-k #创建框架目录
//删除用户
deluser xxx
查看系统版本
[root@localhost ~]# docker run -it --rm alpine /bin/sh
/ # cat /etc/issue
Welcome to Alpine Linux 3.15
Kernel \r on an \m (\l)
配置apk源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
apk update
alpine服务管理工具
查看所有服务
rc-service --list
添加开机自启动
rc-update add {service-name}
开启SSH服务
//安装openssh-server服务器
apk add openssh-server
//修改配置文件/etc/ssh/sshd_config
如果要想使用root用户远程管理,需要修改参数为:
PermitRootLogin yes
//将ssh服务配置为开机自动启动
rc-update add sshd
//如果你想立刻生效,可以执行命令
/etc/init.d/sshd restart
设置时区
apk add tzdata
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone